Fahrzeug vorbereiten

In diesem Abschnitt wird beschrieben, wie Sie das Fahrzeug für geplante Aufgaben vorbereiten. Sie müssen jeden der folgenden Schritte ausführen, bevor Ihr Backend ein Fahrzeug einer Aufgabe zuordnen kann.

Listener einrichten

Da das Driver SDK Aktionen im Hintergrund ausführt, können Sie mit DriverStatusListener Benachrichtigungen auslösen, wenn bestimmte Ereignisse eintreten, z. B. Fehler, Warnungen oder Debugging-Meldungen. Fehler können vorübergehend sein (z. B. BACKEND_CONNECTIVITY_ERROR) oder dazu führen, dass Standortaktualisierungen dauerhaft beendet werden. Wenn Sie beispielsweise einen VEHICLE_NOT_FOUND-Fehler erhalten, deutet das auf einen Konfigurationsfehler hin.

Im folgenden Beispiel sehen Sie eine DriverStatusListener-Implementierung:

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());

Standortaktualisierungen aktivieren

Wenn Sie eine *VehicleReporter-Instanz haben, aktivieren Sie Standortaktualisierungen so:

Java

DeliveryVehicleReporter reporter = ...;

reporter.enableLocationTracking();

Kotlin

val reporter = ...

reporter.enableLocationTracking()

Optional: Aktualisierungsintervall festlegen

Standardmäßig sendet das Driver SDK Standortaktualisierungen in einem Intervall von 10 Sekunden. Jede Standortaktualisierung zeigt auch an, dass das Fahrzeug online ist. Sie können dieses Intervall mit reporter.setLocationReportingInterval(long, TimeUnit) ändern. Das unterstützte Mindestintervall für Aktualisierungen beträgt 5 Sekunden. Häufigere Aktualisierungen können zu langsameren Anfragen und Fehlern führen.