Phần này cho biết cách chuẩn bị xe cho các nhiệm vụ đã lên lịch. Bạn phải hoàn thành từng bước sau đây trước khi phần phụ trợ của bạn có thể so khớp xe với một việc cần làm.
Thiết lập trình nghe
Vì SDK trình điều khiển thực hiện các hành động trong
ở chế độ nền, hãy sử dụng DriverStatusListener
để kích hoạt thông báo khi nhất định
các sự kiện 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ể là
mang tính tạm thời (chẳng hạn như BACKEND_CONNECTIVITY_ERROR
) hoặc chúng có thể
khiến việc 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 có một thực thể *VehicleReporter
, hãy bật tính năng cập nhật vị trí như sau:
Java
DeliveryVehicleReporter reporter = ...;
reporter.enableLocationTracking();
Kotlin
val reporter = ...
reporter.enableLocationTracking()
(Không bắt buộc) Đặt khoảng thời gian cập nhật
Theo mặc định, SDK Driver sẽ gửi các thông tin cập nhật vị trí với tần suất 10 giây một lần. Một
Tính năng cập nhật vị trí cũng cho biết xe đang trực tuyến. Bạn có thể thay đổi chế độ này
ngắt quãng với
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.