Questa sezione mostra come preparare il veicolo per i viaggi. Devi completare ciascuno dei seguenti passaggi prima che il backend possa abbinare un veicolo a un viaggio.
Configurare il listener
Poiché il Driver SDK esegue azioni in background, utilizza DriverStatusListener
per attivare le notifiche quando si verificano determinati eventi, ad esempio errori, avvisi o messaggi di debug. Gli errori possono essere
transitori (ad esempio BACKEND_CONNECTIVITY_ERROR
) o potrebbero
causare l'interruzione definitiva degli aggiornamenti della posizione. Ad esempio, se ricevi un errore
VEHICLE_NOT_FOUND
, indica un errore di configurazione.
Il seguente esempio mostra un'implementazione di DriverStatusListener
:
class MyStatusListener implements DriverStatusListener {
/** Called when background status is updated, during actions such as location reporting. */
@Override
public void updateStatus(
StatusLevel statusLevel, StatusCode statusCode, String statusMsg, @Nullable Throwable cause) {
// Existing implementation
if (cause != null && cause instanceof StatusRuntimeException) {
if (Status.NOT_FOUND.getCode().equals(cause.getStatus().getCode())) {
// NOT_FOUND gRPC exception thrown by Fleet Engine.
}
}
}
}
DriverContextBuilder.setDriverStatusListener(new MyStatusListener());
Attivare gli aggiornamenti della posizione
Dopo aver configurato il listener, attiva gli aggiornamenti della posizione nel seguente modo:
Java
RidesharingVehicleReporter reporter = ...;
reporter.enableLocationTracking();
Kotlin
val reporter = ...
reporter.enableLocationTracking()
Impostare l'intervallo di aggiornamento
Per impostazione predefinita, l'SDK Driver invia aggiornamenti della posizione a intervalli di 10 secondi
quando lo stato del veicolo è ONLINE
. Puoi modificare questo intervallo con
reporter.setLocationReportingInterval(long, TimeUnit)
. L'intervallo di aggiornamento
minimo supportato è di 5 secondi. Aggiornamenti più frequenti possono comportare richieste più lente ed errori.
Imposta lo stato del veicolo su online
Quando attivi gli aggiornamenti della posizione, puoi impostare lo stato del veicolo su ONLINE
per
rendere il veicolo disponibile per le query SearchVehicles
in Fleet Engine. L'SDK Driver invia lo stato aggiornato del veicolo insieme agli aggiornamenti della posizione.
Puoi impostare lo stato del veicolo direttamente nell'SDK Driver o nel server Fleet Engine. Per ulteriori informazioni, vedi Aggiornare un veicolo.
Gli esempi riportati di seguito mostrano come impostare lo stato del veicolo su online nel Driver SDK:
Java
RidesharingVehicleReporter reporter = ...;
reporter.enableLocationTracking();
reporter.setVehicleState(VehicleState.ONLINE);
Kotlin
val reporter = ...
reporter.enableLocationTracking()
reporter.setVehicleState(VehicleState.ONLINE)
StatusListener
segnala anche eventuali errori che si verificano durante l'aggiornamento dello stato del veicolo.
Passaggi successivi
Impostare i dettagli del viaggio