ส่วนนี้จะแสดงวิธีเตรียมพาหนะให้พร้อมสำหรับการเดินทาง คุณต้องทําตามขั้นตอนต่อไปนี้ให้เสร็จสมบูรณ์ก่อนแบ็กเอนด์จะจับคู่ยานพาหนะกับการเดินทางได้
ตั้งค่า 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
ยังรายงานข้อผิดพลาดที่เกิดขึ้นเมื่ออัปเดต
สถานะยานพาหนะ