In diesem Abschnitt wird beschrieben, wie Sie das Fahrzeug für Fahrten vorbereiten. Du musst Folgendes abschließen: jeden der folgenden Schritte ausführen, bevor Ihr Backend ein Fahrzeug einer Fahrt zuordnen kann.
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 beispielsweise einen VEHICLE_NOT_FOUND
-Fehler erhalten, weist 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 Standortupdates so:
Java
RidesharingVehicleReporter reporter = ...;
reporter.enableLocationTracking();
Kotlin
val reporter = ...
reporter.enableLocationTracking()
Aktualisierungsintervall festlegen
Standardmäßig sendet das Driver SDK Standortaktualisierungen im Abstand von 10 Sekunden, wenn der Fahrzeugstatus ONLINE
ist. Sie können dieses 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.
Fahrzeugstatus auf „online“ setzen
Wenn du Standortupdates aktivierst, kannst du den Fahrzeugstatus auf ONLINE
setzen, um
das Fahrzeug für SearchVehicles
-Abfragen in Fleet Engine verfügbar machen. Das Driver SDK sendet den aktualisierten Fahrzeugstatus zusammen mit den Standortaktualisierungen.
Sie können den Fahrzeugstatus direkt im Driver SDK oder im 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)
Das StatusListener
meldet auch alle Fehler, die beim Aktualisieren der
Fahrzeugstatus.