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 dei driver esegue azioni in background, usa DriverStatusListener per attivare notifiche quando al verificarsi di determinati eventi, ad esempio errori, avvisi o messaggi di debug. Gli errori possono essere di natura temporanea (ad esempio BACKEND_CONNECTIVITY_ERROR) o potrebbero causano l'interruzione definitiva degli aggiornamenti della posizione. Ad esempio, se ricevi un 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 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 intervallo quando lo stato del veicolo è ONLINE. Puoi modificare questo intervallo con reporter.setLocationReportingInterval(long, TimeUnit). Il minimo supportato di aggiornamento è di 5 secondi. Aggiornamenti più frequenti possono rallentare richieste ed errori.

Imposta lo stato del veicolo su online

Se attivi gli aggiornamenti di posizione, puoi impostare lo stato del veicolo su ONLINE per rendi il veicolo disponibile per SearchVehicles query in Fleet Engine. La 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 in Fleet Engine o server web. Per ulteriori informazioni, vedi Aggiornare un veicolo.

I seguenti esempi mostrano come impostare lo stato del veicolo su online nel conducente 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 del stato del veicolo.

Passaggi successivi

Impostare i dettagli della corsa