Phần này hướng dẫn cách chuẩn bị xe cho chuyến đi. Bạn phải hoàn tất từng bước sau đây trước khi hệ thống phụ trợ có thể so khớp một chiếc xe với một chuyến đi.
Thiết lập trình nghe
Vì Driver SDK thực hiện các thao tác ở chế độ nền, hãy sử dụng DriverStatusListener
để kích hoạt thông báo khi xảy ra một số sự kiện nhất định, chẳng hạn như lỗi, cảnh báo hoặc thông báo gỡ lỗi. Lỗi có thể chỉ là tạm thời (chẳng hạn như BACKEND_CONNECTIVITY_ERROR
) hoặc có thể khiến các bản cập nhật vị trí ngừng vĩnh viễn. Ví dụ: nếu bạn nhận được lỗi VEHICLE_NOT_FOUND
, thì lỗi này cho biết có lỗi về cấu hình.
Ví dụ sau đây cho thấy một cách triển khai 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());
Bật thông báo cập nhật vị trí
Sau khi thiết lập trình nghe, hãy bật tính năng cập nhật vị trí như sau:
Java
RidesharingVehicleReporter reporter = ...;
reporter.enableLocationTracking();
Kotlin
val reporter = ...
reporter.enableLocationTracking()
Đặt khoảng thời gian cập nhật
Theo mặc định, Driver SDK sẽ gửi thông tin cập nhật vị trí theo khoảng thời gian 10 giây khi trạng thái xe là ONLINE
. Bạn có thể thay đổi khoảng thời gian này bằng reporter.setLocationReportingInterval(long, TimeUnit)
. Khoảng thời gian cập nhật tối thiểu được hỗ trợ là 5 giây. Việc cập nhật thường xuyên hơn có thể khiến các yêu cầu và lỗi xảy ra chậm hơn.
Đặt trạng thái xe thành đang hoạt động
Khi bật tính năng cập nhật vị trí, bạn có thể đặt trạng thái xe thành ONLINE
để cung cấp xe cho các truy vấn SearchVehicles
trong Fleet Engine. Driver SDK sẽ gửi trạng thái xe mới cập nhật cùng với thông tin cập nhật về vị trí.
Bạn có thể đặt trạng thái xe ngay trong Driver SDK hoặc trong máy chủ Fleet Engine. Để biết thêm thông tin, hãy xem bài viết Cập nhật xe.
Các ví dụ sau đây cho thấy cách đặt trạng thái xe thành trực tuyến trong Driver SDK:
Java
RidesharingVehicleReporter reporter = ...;
reporter.enableLocationTracking();
reporter.setVehicleState(VehicleState.ONLINE);
Kotlin
val reporter = ...
reporter.enableLocationTracking()
reporter.setVehicleState(VehicleState.ONLINE)
StatusListener
cũng báo cáo mọi lỗi xảy ra khi cập nhật trạng thái xe.
Bước tiếp theo
Đặt thông tin chi tiết về chuyến đi