In diesem Abschnitt wird beschrieben, wie Sie das Fahrzeug für Fahrten vorbereiten. Sie müssen jeden der folgenden Schritte ausführen, bevor Ihr Backend ein Fahrzeug einer Fahrt 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
Nachdem Sie den Listener eingerichtet haben, aktivieren Sie Standortaktualisierungen so:
Java
RidesharingVehicleReporter reporter = ...;
reporter.enableLocationTracking();
Kotlin
val reporter = ...
reporter.enableLocationTracking()
Aktualisierungsintervall festlegen
Standardmäßig sendet das Driver SDK Standortaktualisierungen alle 10 Sekunden, wenn der Fahrzeugstatus 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.
Fahrzeugstatus auf „Online“ setzen
Wenn Sie Standortaktualisierungen aktivieren, können Sie den Fahrzeugstatus auf ONLINE
festlegen, damit das Fahrzeug für SearchVehicles
-Anfragen 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.
Die folgenden Beispiele zeigen, 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)
Im StatusListener
werden auch alle Fehler gemeldet, die beim Aktualisieren des Fahrzeugstatus auftreten.