Questa sezione mostra come preparare il veicolo per le corse. Devi completare ognuno dei seguenti passaggi prima che il tuo backend possa abbinare un veicolo a una corsa.
Configurare il listener
Poiché 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 di natura transitoria (ad esempio BACKEND_CONNECTIVITY_ERROR) o potrebbero causare l'interruzione definitiva degli aggiornamenti della posizione. Ad esempio, se ricevi un errore VEHICLE_NOT_FOUND, significa che si è verificato un errore di configurazione.
L'esempio seguente 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, Driver SDK invia gli 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 potrebbero comportare richieste più lente ed errori.
Impostare lo stato del veicolo su online
Quando attivi gli aggiornamenti della posizione, puoi impostare lo stato del veicolo su ONLINE per renderlo disponibile per le query SearchVehicles in Fleet Engine. Driver SDK invia lo stato del veicolo aggiornato insieme agli aggiornamenti della posizione.
Puoi impostare lo stato del veicolo direttamente in Driver SDK o nel server Fleet Engine. Per maggiori informazioni, vedi Aggiornare un veicolo.
Gli esempi seguenti mostrano come impostare lo stato del veicolo su online in 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