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.

Skonfiguruj detektor

Pakiet Driver SDK wykonuje działania w tle, dlatego użyj DriverStatusListener, aby wywoływać powiadomienia o wystąpieniu określonych zdarzeń, takich jak błędy, ostrzeżenia czy 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łączanie aktualizacji lokalizacji

Po skonfigurowaniu listenera włącz aktualizacje lokalizacji w ten sposób:

Java

RidesharingVehicleReporter reporter = ...;

reporter.enableLocationTracking();

Kotlin

val reporter = ...

reporter.enableLocationTracking()

Ustaw interwał aktualizacji

Domyślnie Driver SDK wysyła aktualizacje lokalizacji w 10-sekundowych odstępach. gdy stan pojazdu to ONLINE. Możesz zmienić ten interwał, używając: reporter.setLocationReportingInterval(long, TimeUnit) Minimalny obsługiwany interwał aktualizacji to 5 sekund. Częstsze aktualizacje mogą spowolnić działanie żądań i błędów.

Ustaw stan pojazdu na „online”

Po włączeniu aktualizacji lokalizacji możesz ustawić stan pojazdu na ONLINE, aby udostępnić go do zapytań SearchVehicles w Fleet Engine. Pakiet Driver SDK wysyła zaktualizowany stan pojazdu wraz z aktualizacjami lokalizacji.

Stan pojazdu możesz ustawić bezpośrednio w 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)

Raport StatusListener zawiera też wszystkie błędy występujące podczas aktualizowania stanu pojazdu.

Co dalej?

Ustawianie szczegółów podróży