Fahrzeug vorbereiten

In diesem Abschnitt wird beschrieben, wie Sie das Fahrzeug für Fahrten vorbereiten. Sie müssen alle folgenden Schritte ausführen, bevor Ihr Back-End ein Fahrzeug einer Fahrt zuordnen kann.

Listener einrichten

Da das Driver SDK Aktionen im Hintergrund ausführt, verwenden Sie DriverStatusListener, um Benachrichtigungen auszulösen, wenn bestimmte Ereignisse auftreten, z. B. Fehler, Warnungen oder Debug-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 dies 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

Nachdem Sie den Listener eingerichtet haben, aktivieren Sie die Standortaktualisierungen so:

Java

RidesharingVehicleReporter reporter = ...;

reporter.enableLocationTracking();

Kotlin

val reporter = ...

reporter.enableLocationTracking()

Aktualisierungsintervall festlegen

Standardmäßig sendet das Driver SDK Standortaktualisierungen in einem Intervall von 10 Sekunden, wenn der Fahrzeugstatus ONLINE ist. Sie können dieses Intervall mit reporter.setLocationReportingInterval(long, TimeUnit) ändern. Das unterstützte Mindestintervall beträgt 5 Sekunden. Häufigere Aktualisierungen können zu langsameren Anfragen und Fehlern führen.

Fahrzeugstatus auf „Online“ setzen

Wenn Sie Standortaktualisierungen aktivieren, können Sie den Fahrzeugstatus auf ONLINE setzen, damit das Fahrzeug für SearchVehicles-Abfragen in Fleet Engine verfügbar ist. Das Driver SDK sendet den aktualisierten Fahrzeugstatus zusammen mit den Standortaktualisierungen.

Sie können den Fahrzeugstatus direkt im Driver SDK oder auf dem Fleet Engine-Server festlegen. Weitere Informationen finden Sie unter Fahrzeug aktualisieren.

In den folgenden Beispielen wird gezeigt, wie Sie den Fahrzeugstatus im Driver SDK auf „Online“ setzen:

Java

RidesharingVehicleReporter reporter = ...;

reporter.enableLocationTracking();
reporter.setVehicleState(VehicleState.ONLINE);

Kotlin

val reporter = ...

reporter.enableLocationTracking()
reporter.setVehicleState(VehicleState.ONLINE)

Der StatusListener meldet auch alle Fehler, die beim Aktualisieren des Fahrzeugstatus auftreten.

Nächste Schritte

Fahrtdetails festlegen