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

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

ตั้งค่าโปรแกรมรับฟัง

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

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

หลังจากตั้งค่าโปรแกรมรับฟังแล้ว ให้เปิดใช้การอัปเดตตำแหน่งโดยทำดังนี้

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 ดูข้อมูลเพิ่มเติมได้ที่อัปเดตยานพาหนะ

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

Java

RidesharingVehicleReporter reporter = ...;

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

Kotlin

val reporter = ...

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

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

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

ตั้งค่ารายละเอียดการเดินทาง