Prepara il veicolo

Questa sezione mostra come preparare il veicolo per le attività pianificate. Prima che il backend possa abbinare un veicolo a un'attività, devi completare tutti i passaggi riportati di seguito.

Configurare il listener

Poiché il Driver SDK esegue le 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.

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

Una volta che hai un'istanza *VehicleReporter, attiva gli aggiornamenti della posizione nel seguente modo:

Java

DeliveryVehicleReporter reporter = ...;

reporter.enableLocationTracking();

Kotlin

val reporter = ...

reporter.enableLocationTracking()

(Facoltativo) Impostare l'intervallo di aggiornamento

Per impostazione predefinita, il Driver SDK invia gli aggiornamenti della posizione a intervalli di 10 secondi. Ogni aggiornamento della posizione indica anche che il 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.