Prepara il veicolo

Questa sezione mostra come preparare il veicolo per i viaggi. Devi completare ciascuno dei seguenti passaggi prima che il backend possa associare un veicolo a una corsa.

Configura listener

Poiché l'SDK Driver esegue azioni in background, utilizza DriverStatusListener per attivare notifiche quando si verificano determinati eventi, come errori, avvisi o messaggi di debug. Gli errori possono essere di natura transitoria (ad esempio BACKEND_CONNECTIVITY_ERROR) o causare l'interruzione definitiva degli aggiornamenti della posizione. Ad esempio, un errore VEHICLE_NOT_FOUND indica 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());

Attiva aggiornamenti posizione

Dopo aver configurato l'ascoltatore, attiva gli aggiornamenti della posizione come segue:

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 e errori.

Imposta lo stato del veicolo su online

Quando attivi gli aggiornamenti della posizione, puoi impostare lo stato del veicolo su ONLINE per metterlo a disposizione 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 di Fleet Engine. Per ulteriori informazioni, vedi Aggiornare un veicolo.

Gli esempi riportati di seguito mostrano come impostare lo stato del veicolo su online nell'SDK Driver:

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 della corsa