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 sie könnten werden Standortupdates dauerhaft beendet. 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

Sobald 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 alle 10 Sekunden. 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 Minimum Aktualisierungsintervall beträgt 5 Sekunden. Häufigere Updates führen möglicherweise zu langsameren Updates Anfragen und Fehler.