Przygotuj pojazd

Z tej sekcji dowiesz się, jak przygotować pojazd do przejazdów. Zanim backend będzie mógł dopasować pojazd do przejazdu, musisz wykonać wszystkie te czynności.

Konfigurowanie odbiornika

Pakiet Driver SDK wykonuje działania w tle, dlatego używaj DriverStatusListener, aby wywoływać powiadomienia, 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ą powodować 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łączanie informacji o zmianie lokalizacji

Po skonfigurowaniu odbiornika włącz aktualizacje lokalizacji w ten 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ą powodować wolniejsze odpowiedzi i błędy.

Ustaw stan pojazdu na online

Gdy włączysz aktualizacje lokalizacji, możesz ustawić stan pojazdu na ONLINE, aby udostępnić go w zapytaniach SearchVehicles w Fleet Engine. Pakiet SDK kierowcy 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.

Poniższe przykłady pokazują, jak ustawić stan pojazdu na online w pakiecie 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ą podczas aktualizowania stanu pojazdu.

Co dalej?

Ustaw szczegóły przejazdu