Phần này cho biết 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 phần phụ trợ có thể so khớp xe với chuyến đi.
Thiết lập trình nghe
Vì SDK trình điều khiển 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 một số sự kiện nhất định xảy ra, chẳng hạn như lỗi, cảnh báo hoặc thông báo gỡ lỗi. Lỗi có thể mang tính tạm thời (chẳng hạn như BACKEND_CONNECTIVITY_ERROR
) hoặc có thể khiến quá trình cập nhật vị trí dừng vĩnh viễn. Ví dụ: nếu bạn nhận được một
VEHICLE_NOT_FOUND
lỗi, cho biết đã xảy ra lỗi cấu hình.
Ví dụ sau đây cho thấy 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 tính năng cập nhật vị trí
Sau khi bạn 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 giữa những lần cập nhật
Theo mặc định, SDK Driver sẽ gửi thông tin cập nhật vị trí với tần suất mỗi 10 giây
khi trạng thái của 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 chậm hơn và gặp lỗi.
Đặt trạng thái xe thành trực tuyến
Khi bật tính năng cập nhật vị trí, bạn có thể đặt trạng thái của xe thành ONLINE
thành
cung cấp xe cho các cụm từ tìm kiếm SearchVehicles
trong Fleet Engine. SDK Trình điều khiển sẽ gửi trạng thái xe đã cập nhật cùng với thông tin cập nhật về vị trí.
Bạn có thể thiết lập trạng thái xe ngay trong SDK Trình điều khiển hoặc trong máy chủ Động cơ của đội xe. Để 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 biết cách đặt trạng thái xe thành trực tuyến trong SDK Trình điều khiển:
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 của xe.