La release dell'SDK Driver per Android 4.0 richiede l'aggiornamento del codice per determinate operazioni. Questa guida descrive le modifiche e cosa dovrai fare per eseguire la migrazione del codice.
Modifica del nome del pacchetto
Il nome del pacchetto è cambiato da
com.google.android.libraries.ridesharing.driver a
com.google.android.libraries.mapsplatform.transportation.driver. Aggiorna
i riferimenti nel codice.
Inizializzazione dell'SDK
Nelle versioni precedenti, inizializzavi l'SDK Navigation e poi ottenevi
un riferimento alla classe FleetEngine. Nell'SDK Driver
v4, inizializza l'SDK nel seguente modo:
Ottieni un oggetto
NavigatordaNavigationApi.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; } } );Crea un oggetto
DriverContext, compilando i campi obbligatori.DriverContext driverContext = DriverContext.builder(application) .setProviderId(providerId) .setVehicleId(vehicleId) .setAuthTokenFactory(authTokenFactory) .setNavigator(navigator) .setRoadSnappedLocationProvider( NavigationApi.getRoadSnappedLocationProvider(application)) .build();Utilizza l'oggetto
DriverContextper inizializzare*DriverApi.Ottieni
NavigationVehicleReporterdall'oggetto API.*VehicleReportersi estende fino alNavigationVehicleReporter.
Attivare e disattivare gli aggiornamenti sulla posizione
Nelle versioni precedenti, gli aggiornamenti della posizione venivano attivati dopo aver ottenuto
un riferimento FleetEngine. Nell'SDK Driver v4, attiva
gli aggiornamenti della posizione nel seguente modo:
Al termine del turno dell'autista, disattiva gli aggiornamenti della posizione
e contrassegna il veicolo come offline chiamando il numero NavigationVehicleReporter.disableLocationTracking().
Error Reporting con StatusListener
ErrorListener è stato rimosso e combinato con StatusListener,
che può essere definito come segue:
class MyStatusListener implements StatusListener {
/** Called when background status is updated, during actions such as location reporting. */
@Override
public void updateStatus(
StatusLevel statusLevel, StatusCode statusCode, String statusMsg) {
// Status handling stuff goes here.
// StatusLevel may be DEBUG, INFO, WARNING, or ERROR.
// StatusCode may be DEFAULT, UNKNOWN_ERROR, VEHICLE_NOT_FOUND,
// BACKEND_CONNECTIVITY_ERROR, or PERMISSION_DENIED.
}
}