Z tej sekcji dowiesz się, jak przygotować pojazd do zaplanowanych zadań. Musisz Wykonaj wszystkie z tych czynności, zanim Twój backend będzie mógł dopasować pojazd do zadanie.
Skonfiguruj detektor
Pakiet Driver SDK wykonuje działania w
w tle, użyj funkcji DriverStatusListener
, aby otrzymywać powiadomienia, gdy
takich jak błędy, ostrzeżenia czy komunikaty debugowania. Błędy mogą być
przejściowy (np. BACKEND_CONNECTIVITY_ERROR
) lub mogą
powoduje trwałe zatrzymanie aktualizacji lokalizacji. Jeśli na przykład pojawi się błąd VEHICLE_NOT_FOUND
, oznacza to błąd konfiguracji.
Poniższy przykład pokazuje implementację DriverStatusListener
:
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());
Włącz aktualizacje lokalizacji
Gdy masz już instancję *VehicleReporter
, włącz aktualizacje lokalizacji w ten sposób:
Java
DeliveryVehicleReporter reporter = ...;
reporter.enableLocationTracking();
Kotlin
val reporter = ...
reporter.enableLocationTracking()
(Opcjonalnie) Ustaw interwał aktualizacji
Domyślnie pakiet Driver SDK wysyła aktualizacje lokalizacji co 10 sekund. Każdy
aktualizacja lokalizacji wskazuje też, że pojazd jest online. Możesz to zmienić
interwał z
reporter.setLocationReportingInterval(long, TimeUnit)
Minimalna obsługiwana liczba
co 5 sekund. Częstsze aktualizacje mogą spowolnić działanie
żądań i błędów.