Inicializar o SDK do Driver

Antes de usar o SDK do Driver, é necessário inicializar o SDK de navegação e o SDK do Driver seguindo estas etapas:

  1. Acesse um objeto Navigator no 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. Crie um objeto DriverContext e preencha os campos obrigatórios. Para inicializar o objeto DriverContext, insira o ID do projeto do seu projeto do Google Cloud como providerId. Para informações sobre como configurar o projeto do Google Cloud, consulte Criar seu projeto do 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. Use o objeto DriverContext para inicializar o *DriverApi.

    DeliveryDriverApi driverApi = DeliveryDriverApi.createInstance(driverContext);
    
  4. Receba o DeliveryVehicleReporter do objeto da API. (DeliveryVehicleReporter estende NavigationVehicleReporter.)

    DeliveryVehicleReporter vehicleReporter = driverApi.getDeliveryVehicleReporter();
    

Notas sobre SSL/TLS

Internamente, a implementação do SDK do driver usa SSL/TLS para se comunicar com segurança com o serviço do Fleet Engine. As versões 23 ou anteriores da API do Android podem exigir um patch SecurityProvider para se comunicar com o servidor. Para mais informações sobre como trabalhar com SSL no Android, consulte Provedor de segurança do GMS. O artigo também contém exemplos de código para aplicar patches no provedor de segurança.

A seguir

Preparar o veículo