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 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
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 alle 10 Sekunden
Intervall, 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. Die
Das Driver SDK sendet den aktualisierten Fahrzeugstatus zusammen mit den Standortaktualisierungen.
Sie können den Fahrzeugstatus direkt im Driver SDK oder in der Fleet Engine festlegen Server. Weitere Informationen finden Sie unter Fahrzeug aktualisieren.
Die folgenden Beispiele zeigen, wie der Fahrzeugstatus im Driver auf „online“ gesetzt wird SDK:
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.