Bagian ini menunjukkan cara menyiapkan kendaraan untuk tugas terjadwal. Anda harus menyelesaikan setiap langkah berikut sebelum backend dapat mencocokkan kendaraan dengan tugas.
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. Error dapat bersifat
sementara (seperti BACKEND_CONNECTIVITY_ERROR
), atau dapat
menyebabkan update 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 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
pembaruan lokasi juga menunjukkan bahwa kendaraan sedang online. Anda dapat mengubah interval ini dengan reporter.setLocationReportingInterval(long, TimeUnit)
. Interval update minimum
yang didukung adalah 5 detik. Update yang lebih sering dapat menyebabkan permintaan dan error yang lebih lambat.