Bagian ini menunjukkan cara menyiapkan kendaraan untuk perjalanan. Anda harus menyelesaikan setiap langkah berikut sebelum backend Anda 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. 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 penerapan 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());
Mengaktifkan pembaruan lokasi
Setelah menyiapkan pemroses, aktifkan update lokasi sebagai 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)
. Interval update minimum yang didukung adalah 5 detik. Pembaruan yang lebih sering dapat mengakibatkan permintaan dan error yang lebih lambat.
Menyetel status kendaraan menjadi online
Saat mengaktifkan pembaruan lokasi, Anda dapat menyetel status kendaraan ke ONLINE
untuk
membuat kendaraan tersedia untuk kueri SearchVehicles
di Fleet Engine. Driver SDK mengirimkan status kendaraan yang diperbarui bersama dengan pembaruan lokasi.
Anda dapat menetapkan status kendaraan langsung di Driver SDK atau di server Fleet Engine. Untuk mengetahui informasi selengkapnya, lihat Memperbarui Kendaraan.
Contoh berikut menunjukkan cara menyetel status kendaraan menjadi online di Driver SDK:
Java
RidesharingVehicleReporter reporter = ...;
reporter.enableLocationTracking();
reporter.setVehicleState(VehicleState.ONLINE);
Kotlin
val reporter = ...
reporter.enableLocationTracking()
reporter.setVehicleState(VehicleState.ONLINE)
StatusListener
juga melaporkan error yang terjadi saat memperbarui status kendaraan.