Chuẩn bị xe sẵn sàng

Phần này cho biết cách chuẩn bị xe cho các tác vụ theo lịch. 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 một chiếc xe với một nhiệm vụ.

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 có một thực thể *VehicleReporter, hãy bật thông báo 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, Driver SDK gửi thông tin cập nhật vị trí sau mỗi 10 giây. Mỗi lần cập nhật vị trí cũng cho biết rằng xe đang trực tuyến. 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.