Как инициализировать Driver SDK

Прежде чем использовать Driver SDK, необходимо инициализировать Navigation SDK и Driver SDK, выполнив следующие действия:

  1. Получите объект Navigator из NavigationApi.

    Java

    NavigationApi.getNavigator(
        this, // Activity
        new NavigationApi.NavigatorListener() {
          @Override
          public void onNavigatorReady(Navigator navigator) {
            // Keep a reference to the Navigator (used to configure and start nav)
            this.navigator = navigator;
          }
        }
    );
    

    Kotlin

    NavigationApi.getNavigator(
      this, // Activity
      object : NavigatorListener() {
        override fun onNavigatorReady(navigator: Navigator) {
          // Keep a reference to the Navigator (used to configure and start nav)
          this@myActivity.navigator = navigator
        }
      },
    )
    
  2. Создайте объект DriverContext, заполнив обязательные поля. Чтобы инициализировать объект DriverContext, введите идентификатор проекта Google Cloud в качестве providerId. Информацию о настройке облачного проекта Google Cloud см. в статье Создание проекта Fleet Engine.

    Java

    DriverContext driverContext = DriverContext.builder(application)
        .setProviderId(providerId)
        .setVehicleId(vehicleId)
        .setAuthTokenFactory(authTokenFactory)
        .setNavigator(navigator)
        .setRoadSnappedLocationProvider(
            NavigationApi.getRoadSnappedLocationProvider(application))
        .build();
    

    Kotlin

    val driverContext =
      DriverContext.builder(application)
        .setProviderId(providerId)
        .setVehicleId(vehicleId)
        .setAuthTokenFactory(authTokenFactory)
        .setNavigator(navigator)
        .setRoadSnappedLocationProvider(NavigationApi.getRoadSnappedLocationProvider(application))
        .build()
    
  3. Используйте объект DriverContext, чтобы инициализировать *DriverApi.

    DeliveryDriverApi driverApi = DeliveryDriverApi.createInstance(driverContext);
    
  4. Получите объект DeliveryVehicleReporter из объекта API. (DeliveryVehicleReporter расширяет NavigationVehicleReporter).

    DeliveryVehicleReporter vehicleReporter = driverApi.getDeliveryVehicleReporter();
    

Примечания о SSL/TLS

Для безопасного обмена данными с сервисом Fleet Engine в Driver SDK используется протокол SSL/TLS. Для Android API версии 23 и более ранних может потребоваться исправление SecurityProvider, чтобы обеспечить связь с сервером. Дополнительную информацию о работе с SSL в Android можно найти в статье Security GMS Provider (Поставщик GMS для обеспечения безопасности). В статье также приведены примеры кода для обновления поставщика услуг безопасности.

Дальнейшие действия

Подготовьте автомобиль