เตรียมยานพาหนะให้พร้อม

ส่วนนี้จะแสดงวิธีเตรียมพาหนะให้พร้อมสำหรับการเดินทาง คุณต้องดำเนินการให้เสร็จสมบูรณ์ แต่ละขั้นตอนต่อไปนี้ก่อนที่แบ็กเอนด์จะจับคู่ยานพาหนะกับการเดินทางได้

ตั้งค่า Listener

เนื่องจาก 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());

เปิดใช้การอัปเดตตำแหน่ง

หลังจากที่คุณตั้งค่า Listener แล้ว ให้เปิดใช้การอัปเดตตำแหน่งดังนี้:

Java

RidesharingVehicleReporter reporter = ...;

reporter.enableLocationTracking();

Kotlin

val reporter = ...

reporter.enableLocationTracking()

กำหนดช่วงเวลาการอัปเดต

โดยค่าเริ่มต้น Driver SDK จะส่งการอัปเดตตำแหน่งทุกๆ 10 วินาที ช่วงเวลาเมื่อสถานะของยานพาหนะคือ ONLINE คุณสามารถเปลี่ยนระยะเวลานี้ได้ด้วย reporter.setLocationReportingInterval(long, TimeUnit) ค่าต่ำสุดที่รองรับ ช่วงเวลาการอัปเดตคือ 5 วินาที การอัปเดตบ่อยขึ้นอาจส่งผลให้การทำงานช้าลง และข้อผิดพลาด

ตั้งค่าสถานะยานพาหนะเป็นออนไลน์

เมื่อเปิดการอัปเดตตำแหน่ง คุณจะตั้งค่าสถานะของยานพาหนะเป็น ONLINE ได้เพื่อ ทำให้รถพร้อมใช้งานสำหรับคำค้นหา SearchVehicles ใน Fleet Engine Driver SDK จะส่งสถานะของรถยนต์ที่อัปเดตแล้วพร้อมกับการอัปเดตตำแหน่ง

คุณกำหนดสถานะของรถได้โดยตรงใน Driver SDK หรือใน Fleet Engine เซิร์ฟเวอร์ ดูข้อมูลเพิ่มเติมได้ที่การอัปเดตยานพาหนะ

ตัวอย่างต่อไปนี้แสดงวิธีตั้งค่าสถานะของยานพาหนะเป็นออนไลน์ในผู้ขับ SDK

Java

RidesharingVehicleReporter reporter = ...;

reporter.enableLocationTracking();
reporter.setVehicleState(VehicleState.ONLINE);

Kotlin

val reporter = ...

reporter.enableLocationTracking()
reporter.setVehicleState(VehicleState.ONLINE)

StatusListener ยังรายงานข้อผิดพลาดที่เกิดขึ้นเมื่ออัปเดต สถานะยานพาหนะ

ขั้นตอนถัดไป

กำหนดรายละเอียดการเดินทาง