Fahrzeug vorbereiten

In diesem Abschnitt erfahren Sie, wie Sie das Fahrzeug auf geplante Aufgaben vorbereiten. Du musst die folgenden Schritte auszuführen, bevor Ihr Backend ein Fahrzeug einer Aufgabe.

Hörer einrichten

Da das Treiber-SDK Aktionen im Hintergrund verwenden, verwenden Sie DriverStatusListener, um Benachrichtigungen auszulösen, wie Fehler, Warnungen oder Debug-Meldungen auftreten. Fehler können vorübergehender Natur sein (z. B. BACKEND_CONNECTIVITY_ERROR) oder dazu führen, dass Standortaktualisierungen dauerhaft beendet werden. Wenn Sie zum Beispiel eine VEHICLE_NOT_FOUND-Fehler, deutet auf einen Konfigurationsfehler hin.

Das folgende Beispiel zeigt 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 Standortupdates so:

Java

DeliveryVehicleReporter reporter = ...;

reporter.enableLocationTracking();

Kotlin

val reporter = ...

reporter.enableLocationTracking()

(Optional) Aktualisierungsintervall festlegen

Standardmäßig sendet das Driver SDK Standortaktualisierungen im 10-Sekunden-Takt. Jedes Das Standortupdate zeigt auch an, dass das Fahrzeug online ist. Sie können dies ändern. Intervall mit reporter.setLocationReportingInterval(long, TimeUnit) Das unterstützte Mindestaktualisierungsintervall beträgt 5 Sekunden. Häufigere Updates führen möglicherweise zu langsameren Updates Anfragen und Fehler.