Przygotuj pojazd

W 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.

Konfigurowanie listenera

Ponieważ pakiet Driver SDK wykonuje działania w tle, używaj zasady DriverStatusListener do aktywowania powiadomień, gdy wystąpią określone zdarzenia, takie jak błędy, ostrzeżenia lub komunikaty debugowania. Błędy mogą być przejściowe (np. BACKEND_CONNECTIVITY_ERROR) lub mogą spowodować 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()

Ustawianie interwału aktualizacji

Domyślnie pakiet Driver SDK wysyła aktualizacje lokalizacji co 10 sekund, gdy stan pojazdu to ONLINE. Możesz zmienić ten interwał za pomocą reporter.setLocationReportingInterval(long, TimeUnit). Minimalny obsługiwany interwał aktualizacji to 5 sekund. Częstsze aktualizacje mogą spowalniać wysyłanie żądań i eliminowanie błędów.

Ustaw stan pojazdu na online

Gdy włączysz aktualizacje lokalizacji, możesz ustawić stan pojazdu na ONLINE, aby był on dostępny w przypadku zapytań SearchVehicles we Fleet Engine. Pakiet Driver SDK wysyła zaktualizowany stan pojazdu wraz z aktualizacjami lokalizacji.

Stan pojazdu możesz ustawić bezpośrednio w pakiecie Driver SDK lub na serwerze Fleet Engine. Więcej informacji znajdziesz w artykule Aktualizowanie pojazdu.

W podanych niżej przykładach pokazano, jak ustawić stan pojazdu na „online” w Driver 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ą przy aktualizacji stanu pojazdu.

Co dalej?

Ustawianie szczegółów podróży