Siapkan kendaraan

Bagian ini menunjukkan cara menyiapkan kendaraan untuk perjalanan. Anda harus menyelesaikan setiap langkah berikut sebelum backend dapat mencocokkan kendaraan dengan perjalanan.

Menyiapkan pemroses

Karena Driver SDK melakukan tindakan di latar belakang, gunakan DriverStatusListener untuk memicu notifikasi saat peristiwa tertentu 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 menyiapkan pemroses, aktifkan pembaruan lokasi seperti berikut:

Java

RidesharingVehicleReporter reporter = ...;

reporter.enableLocationTracking();

Kotlin

val reporter = ...

reporter.enableLocationTracking()

Menetapkan interval pembaruan

Secara default, Driver SDK mengirimkan pembaruan lokasi dengan interval 10 detik saat status kendaraan adalah ONLINE. Anda dapat mengubah interval ini dengan reporter.setLocationReportingInterval(long, TimeUnit). Jumlah minimum yang didukung Interval update adalah 5 detik. Update yang lebih sering dapat memperlambat proses permintaan dan error.

Tetapkan status kendaraan ke online

Saat mengaktifkan pembaruan lokasi, Anda dapat menetapkan status kendaraan ke ONLINE untuk menyediakan kendaraan untuk kueri SearchVehicles di Fleet Engine. Tujuan SDK Pengemudi mengirimkan status kendaraan yang telah diperbarui beserta pembaruan lokasi.

Anda dapat menetapkan status kendaraan langsung di Driver SDK atau di Fleet Engine server tertentu. Untuk mengetahui informasi selengkapnya, lihat Memperbarui Kendaraan.

Contoh berikut menunjukkan cara menetapkan status kendaraan ke online di Pengemudi SDK:

Java

RidesharingVehicleReporter reporter = ...;

reporter.enableLocationTracking();
reporter.setVehicleState(VehicleState.ONLINE);

Kotlin

val reporter = ...

reporter.enableLocationTracking()
reporter.setVehicleState(VehicleState.ONLINE)

StatusListener juga melaporkan setiap error yang terjadi saat mengupdate status kendaraan.

Langkah berikutnya

Menetapkan detail perjalanan