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

Phần này cho biết cách chuẩn bị xe cho các chuyến đi. Bạn phải hoàn thành từng bước sau đây thì phần phụ trợ của bạn mới có thể so khớp một loại xe với một 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 yêu cầu cập nhật vị trí dừng vĩnh viễn. Ví dụ: nếu bạn nhận được lỗi VEHICLE_NOT_FOUND, thì đó là 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 thông tin cập nhật về 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 cập nhật

Theo mặc định, SDK trình điều khiển sẽ gửi thông tin cập nhật vị trí với tần suất 10 giây một lần 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 tối thiểu được hỗ trợ giữa các lần cập nhật là 5 giây. Việc cập nhật thường xuyên hơn có thể dẫn đến các yêu cầu và lỗi chậm hơn.

Đặ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 để có thể xem xe cho các truy vấn 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 thấy cách đặt trạng thái của 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 xe.

Bước tiếp theo

Đặt thông tin chi tiết về chuyến đi