Antes de usar el SDK de Driver, primero debes inicializar el SDK de Navigation y el SDK de Driver siguiendo estos pasos:
- Obtén un objeto - Navigatordel- 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 } }, )
- Crea un objeto - DriverContexty completa los campos obligatorios. Para inicializar el objeto- DriverContext, debes ingresar el ID del proyecto de tu proyecto de Google Cloud como- providerId. Para obtener información sobre cómo configurar el 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 - DriverContextpara inicializar el- *DriverApi.- Java- RidesharingDriverApi ridesharingDriverApi = RidesharingDriverApi.createInstance(driverContext);- Kotlin- val ridesharingDriverApi = RidesharingDriverApi.createInstance(driverContext)
- Obtén el objeto - RidesharingVehicleReporterdel objeto de la API. (- *VehicleReporterextiende- NavigationVehicleReporter).- Java- RidesharingVehicleReporter vehicleReporter = ridesharingDriverApi.getRidesharingVehicleReporter();- Kotlin- val vehicleReporter = ridesharingDriverApi.getRidesharingVehicleReporter()
Notas sobre SSL/TLS
Internamente, la implementación del SDK de Driver usa SSL/TLS para comunicarse de forma segura con el servicio de Fleet Engine. Las versiones 23 o anteriores de la API de Android pueden requerir un parche de SecurityProvider para comunicarse con el servidor. Para obtener más información sobre cómo trabajar con SSL en Android, consulta Security GMS Provider.
El artículo también contiene muestras de código para aplicar parches al proveedor de seguridad.