Inicializa el SDK del controlador

Antes de usar el SDK del controlador, primero debes inicializar el SDK de Navigation y el SDK de Driver siguiendo estos pasos:

  1. Obtén un objeto Navigator del 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. Crea un objeto DriverContext y propaga los campos obligatorios. Para inicializas el objeto DriverContext, debes ingresar el ID del proyecto de tu proyecto de Google Cloud como providerId. Información sobre la configuración del proyecto de Google Cloud, consulta Crea tu proyecto de 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. Usa el objeto DriverContext para inicializar *DriverApi.

    Java

    RidesharingDriverApi ridesharingDriverApi = RidesharingDriverApi.createInstance(driverContext);
    

    Kotlin

    val ridesharingDriverApi = RidesharingDriverApi.createInstance(driverContext)
    
  4. Obtén el RidesharingVehicleReporter del objeto de la API. (*VehicleReporter extiende NavigationVehicleReporter).

    Java

    RidesharingVehicleReporter vehicleReporter = ridesharingDriverApi.getRidesharingVehicleReporter();
    

    Kotlin

    val vehicleReporter = ridesharingDriverApi.getRidesharingVehicleReporter()
    

Notas sobre SSL/TLS

De forma interna, la implementación del SDK de Driver usa SSL/TLS para comunicarse de forma segura con el servicio de Fleet Engine. API de Android versiones 23 o antes puede requerir un parche SecurityProvider para comunicarse con el servidor. Para obtener más información sobre cómo trabajar con SSL en Android, consulta Proveedor de GMS de seguridad. El artículo también contiene muestras de código para aplicar parches al proveedor de seguridad.

¿Qué sigue?

Prepara el vehículo