Bagian ini menunjukkan cara menyiapkan kendaraan untuk perjalanan. Anda harus menyelesaikan melakukan setiap langkah berikut sebelum backend Anda dapat mencocokkan kendaraan dengan perjalanan.
Menyiapkan pemroses
Karena Driver SDK melakukan tindakan dalam
latar belakang, gunakan DriverStatusListener
untuk memicu notifikasi saat
terjadi, seperti error, peringatan, atau pesan debug. Error dapat bersifat sementara (seperti BACKEND_CONNECTIVITY_ERROR
), atau dapat 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 update
Secara default, Driver SDK mengirimkan pembaruan lokasi dengan interval 10 detik
jika status kendaraan adalah ONLINE
. Anda bisa 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.
Menetapkan 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 server Fleet Engine. Untuk mengetahui informasi selengkapnya, lihat Mengupdate 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.