Z tej sekcji dowiesz się, jak przygotować pojazd do podróży. Zanim backend będzie mógł dopasować pojazd do przejazdu, musisz wykonać te czynności.
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
Po skonfigurowaniu odbiornika włącz aktualizacje lokalizacji w następujący sposób:
Java
RidesharingVehicleReporter reporter = ...;
reporter.enableLocationTracking();
Kotlin
val reporter = ...
reporter.enableLocationTracking()
Ustaw interwał aktualizacji
Domyślnie pakiet Driver SDK wysyła aktualizacje lokalizacji co 10 sekund, gdy stan pojazdu to ONLINE
. Możesz zmienić ten interwał, używając:
reporter.setLocationReportingInterval(long, TimeUnit)
Minimalna obsługiwana liczba
co 5 sekund. Częstsze aktualizacje mogą spowolnić działanie
żądań i błędów.
Ustaw stan pojazdu na online
Gdy włączysz aktualizacje lokalizacji, możesz ustawić stan pojazdu na ONLINE
udostępnić pojazd dla SearchVehicles
zapytań we Fleet Engine.
Pakiet SDK Driver wysyła zaktualizowany stan pojazdu wraz z aktualizacjami lokalizacji.
Stan pojazdu możesz ustawić bezpośrednio w pakiecie Driver SDK lub we Fleet Engine serwera. Więcej informacji znajdziesz w artykule Aktualizowanie pojazdu.
Poniższe przykłady pokazują, jak ustawić stan pojazdu na online w sekcji Kierowca Pakiet SDK:
Java
RidesharingVehicleReporter reporter = ...;
reporter.enableLocationTracking();
reporter.setVehicleState(VehicleState.ONLINE);
Kotlin
val reporter = ...
reporter.enableLocationTracking()
reporter.setVehicleState(VehicleState.ONLINE)
StatusListener
zgłasza też wszelkie błędy, które wystąpiły podczas aktualizowania
stanu pojazdu.