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

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.