Initialize the Driver SDK
Stay organized with collections
Save and categorize content based on your preferences.
Before using the Driver SDK, you must first initialize
the Navigation SDK and Driver SDK following these steps:
Obtain a Navigator
object from the 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
}
},
)
Create a DriverContext
object, populating the required fields. To
initialize the DriverContext
object, you must enter the Project ID
of your Google Cloud Project as the providerId
. For information
on setting up the Google Cloud Project, see
Create your Fleet Engine project.
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 the DriverContext
object to initialize the *DriverApi
.
DeliveryDriverApi driverApi = DeliveryDriverApi.createInstance(driverContext);
Obtain the DeliveryVehicleReporter
from the API object.
(DeliveryVehicleReporter
extends NavigationVehicleReporter
.)
DeliveryVehicleReporter vehicleReporter = driverApi.getDeliveryVehicleReporter();
Notes on SSL/TLS
Internally, the Driver SDK implementation uses
SSL/TLS to communicate securely with the Fleet Engine service. Android API
versions 23 or
earlier may require a SecurityProvider
patch to communicate with the
server. For more information about working with SSL in Android, see
Security GMS Provider.
The article also contains code samples for patching the security provider.
What's next
Get the vehicle ready
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.
Last updated 2025-08-28 UTC.
[null,null,["Last updated 2025-08-28 UTC."],[[["\u003cp\u003eBefore using the Driver SDK, you must initialize both the Navigation SDK and the Driver SDK.\u003c/p\u003e\n"],["\u003cp\u003eTo begin, obtain a \u003ccode\u003eNavigator\u003c/code\u003e object from the \u003ccode\u003eNavigationApi\u003c/code\u003e and create a \u003ccode\u003eDriverContext\u003c/code\u003e object, ensuring your Google Cloud Project ID is included.\u003c/p\u003e\n"],["\u003cp\u003eInitialize the \u003ccode\u003e*DriverApi\u003c/code\u003e using the \u003ccode\u003eDriverContext\u003c/code\u003e, and obtain the \u003ccode\u003eDeliveryVehicleReporter\u003c/code\u003e from it.\u003c/p\u003e\n"],["\u003cp\u003eNote that the Driver SDK uses SSL/TLS for secure communication, and you might require a \u003ccode\u003eSecurityProvider\u003c/code\u003e patch for older Android versions.\u003c/p\u003e\n"]]],[],null,["# Initialize the Driver SDK\n\nBefore using the Driver SDK, you must first initialize\nthe Navigation SDK and Driver SDK following these steps:\n\n1. Obtain a `Navigator` object from the `NavigationApi`.\n\n ### Java\n\n NavigationApi.getNavigator(\n this, // Activity\n new NavigationApi.NavigatorListener() {\n @Override\n public void onNavigatorReady(Navigator navigator) {\n // Keep a reference to the Navigator (used to configure and start nav)\n this.navigator = navigator;\n }\n }\n );\n\n ### Kotlin\n\n NavigationApi.getNavigator(\n this, // Activity\n object : NavigatorListener() {\n override fun onNavigatorReady(navigator: Navigator) {\n // Keep a reference to the Navigator (used to configure and start nav)\n this@myActivity.navigator = navigator\n }\n },\n )\n\n2. Create a `DriverContext` object, populating the required fields. To\n initialize the `DriverContext` object, you must enter the **Project ID**\n of your Google Cloud Project as the `providerId`. For information\n on setting up the Google Cloud Project, see\n [Create your Fleet Engine project](/maps/documentation/mobility/fleet-engine/essentials/set-up-fleet/create-project).\n\n ### Java\n\n DriverContext driverContext = DriverContext.builder(application)\n .setProviderId(providerId)\n .setVehicleId(vehicleId)\n .setAuthTokenFactory(authTokenFactory)\n .setNavigator(navigator)\n .setRoadSnappedLocationProvider(\n NavigationApi.getRoadSnappedLocationProvider(application))\n .build();\n\n ### Kotlin\n\n val driverContext =\n DriverContext.builder(application)\n .setProviderId(providerId)\n .setVehicleId(vehicleId)\n .setAuthTokenFactory(authTokenFactory)\n .setNavigator(navigator)\n .setRoadSnappedLocationProvider(NavigationApi.getRoadSnappedLocationProvider(application))\n .build()\n\n3. Use the `DriverContext` object to initialize the `*DriverApi`.\n\n DeliveryDriverApi driverApi = DeliveryDriverApi.createInstance(driverContext);\n\n4. Obtain the `DeliveryVehicleReporter` from the API object.\n (`DeliveryVehicleReporter` extends `NavigationVehicleReporter`.)\n\n DeliveryVehicleReporter vehicleReporter = driverApi.getDeliveryVehicleReporter();\n\nNotes on SSL/TLS\n----------------\n\nInternally, the Driver SDK implementation uses\nSSL/TLS to communicate securely with the Fleet Engine service. Android API\nversions 23 or\nearlier may require a `SecurityProvider` patch to communicate with the\nserver. For more information about working with SSL in Android, see\n[Security GMS Provider](https://developer.android.com/training/articles/security-gms-provider).\nThe article also contains code samples for patching the security provider.\n\nWhat's next\n-----------\n\n[Get the vehicle ready](/maps/documentation/mobility/driver-sdk/scheduled/android/vehicle-ready)"]]