Antes de usar el SDK del controlador, primero debes inicializar el SDK de Navigation y el SDK de Driver siguiendo estos pasos:
Obtén un objeto
Navigator
delNavigationApi
.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 } }, )
Crea un objeto
DriverContext
y propaga los campos obligatorios. Para inicializas el objetoDriverContext
, debes ingresar el ID del proyecto de tu proyecto de Google Cloud comoproviderId
. 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()
Usa el objeto
DriverContext
para inicializar*DriverApi
.Java
RidesharingDriverApi ridesharingDriverApi = RidesharingDriverApi.createInstance(driverContext);
Kotlin
val ridesharingDriverApi = RidesharingDriverApi.createInstance(driverContext)
Obtén el
RidesharingVehicleReporter
del objeto de la API. (*VehicleReporter
extiendeNavigationVehicleReporter
).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.