Przygotuj pojazd

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 otrzymasz wiadomość 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 w 10-sekundowych odstępach. 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.