ส่วนนี้แสดงวิธีเตรียมยานพาหนะสำหรับงานที่กำหนดเวลาไว้ คุณต้อง ทำตามขั้นตอนต่อไปนี้ให้ครบถ้วนก่อนที่แบ็กเอนด์จะจับคู่ยานพาหนะกับ งานได้
ตั้งค่าผู้ฟัง
เนื่องจาก Driver SDK จะดำเนินการในเบื้องหลัง ให้ใช้ DriverStatusListener เพื่อทริกเกอร์การแจ้งเตือนเมื่อเกิดเหตุการณ์บางอย่าง เช่น ข้อผิดพลาด คำเตือน หรือข้อความแก้ไขข้อบกพร่อง ข้อผิดพลาดอาจเป็น
แบบชั่วคราว (เช่น BACKEND_CONNECTIVITY_ERROR) หรืออาจ
ทําให้การอัปเดตตําแหน่งหยุดอย่างถาวร เช่น หากคุณได้รับข้อผิดพลาด
VEHICLE_NOT_FOUND แสดงว่าเกิดข้อผิดพลาดในการกำหนดค่า
ตัวอย่างต่อไปนี้แสดงการติดตั้งใช้งาน 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());
เปิดใช้การอัปเดตตำแหน่ง
เมื่อมีอินสแตนซ์ *VehicleReporter แล้ว ให้เปิดใช้การอัปเดตตำแหน่งโดยทำดังนี้
Java
DeliveryVehicleReporter reporter = ...;
reporter.enableLocationTracking();
Kotlin
val reporter = ...
reporter.enableLocationTracking()
(ไม่บังคับ) ตั้งค่าช่วงเวลาการอัปเดต
โดยค่าเริ่มต้น Driver SDK จะส่งการอัปเดตตำแหน่งทุกๆ 10 วินาที การอัปเดตตำแหน่งแต่ละครั้งยังบ่งบอกว่ารถออนไลน์อยู่ด้วย คุณเปลี่ยนช่วงเวลา
นี้ได้ด้วย
reporter.setLocationReportingInterval(long, TimeUnit) ช่วงเวลาการอัปเดตขั้นต่ำที่รองรับคือ 5 วินาที การอัปเดตบ่อยขึ้นอาจส่งผลให้คำขอช้าลงและเกิดข้อผิดพลาด