Antes de usar o SDK do Driver, primeiro é necessário inicializar o SDK do Navigation e do Driver, seguindo estas etapas:
Acesse um objeto
Navigator
noNavigationApi
.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 } }, )
Crie um objeto
DriverContext
, preenchendo os campos obrigatórios. Para inicializar o objetoDriverContext
, insira o ID do projeto do seu projeto do Google Cloud comoproviderId
. Para informações sobre a configuração do projeto do Google Cloud, consulte Crie um 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()
Use o objeto
DriverContext
para inicializar o*DriverApi
.Java
RidesharingDriverApi ridesharingDriverApi = RidesharingDriverApi.createInstance(driverContext);
Kotlin
val ridesharingDriverApi = RidesharingDriverApi.createInstance(driverContext)
Receba o
RidesharingVehicleReporter
do objeto da API. (*VehicleReporter
estendeNavigationVehicleReporter
.)Java
RidesharingVehicleReporter vehicleReporter = ridesharingDriverApi.getRidesharingVehicleReporter();
Kotlin
val vehicleReporter = ridesharingDriverApi.getRidesharingVehicleReporter()
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 GMS de segurança.
O artigo também contém exemplos de código para aplicar patches ao provedor de segurança.