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 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
Sobald 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 alle 10 Sekunden. 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 Minimum
Aktualisierungsintervall beträgt 5 Sekunden. Häufigere Updates führen möglicherweise zu langsameren Updates
Anfragen und Fehler.