Siapkan kendaraan

Bagian ini menunjukkan cara menyiapkan kendaraan untuk tugas terjadwal. Anda harus selesaikan setiap langkah berikut sebelum backend Anda dapat mencocokkan kendaraan dengan pada suatu tugas.

Menyiapkan pemroses

Karena Driver SDK melakukan tindakan dalam latar belakang, gunakan DriverStatusListener untuk memicu notifikasi saat terjadi, seperti error, peringatan, atau pesan debug. {i>Error <i}dapat berupa bersifat sementara (seperti BACKEND_CONNECTIVITY_ERROR), atau mungkin menyebabkan pembaruan lokasi berhenti secara permanen. Misalnya, jika Anda menerima Error VEHICLE_NOT_FOUND, hal ini menunjukkan error konfigurasi.

Contoh berikut menunjukkan implementasi 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());

Aktifkan pembaruan lokasi

Setelah Anda memiliki instance *VehicleReporter, aktifkan pembaruan lokasi sebagai berikut:

Java

DeliveryVehicleReporter reporter = ...;

reporter.enableLocationTracking();

Kotlin

val reporter = ...

reporter.enableLocationTracking()

(Opsional) Menetapkan interval update

Secara default, Driver SDK mengirimkan pembaruan lokasi dengan interval 10 detik. Setiap update lokasi juga menunjukkan bahwa kendaraan sedang online. Anda dapat mengubahnya interval dengan reporter.setLocationReportingInterval(long, TimeUnit). Interval update minimum yang didukung adalah 5 detik. Update yang lebih sering dapat memperlambat proses permintaan dan error.