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 dazu führen, dass Standortaktualisierungen dauerhaft beendet werden. 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
Wenn 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 im 10-Sekunden-Takt. 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 Mindestaktualisierungsintervall beträgt 5 Sekunden. Häufigere Updates führen möglicherweise zu langsameren Updates
Anfragen und Fehler.