בקטע הזה מוסבר איך להכין את הרכב לנסיעות. חובה להשלים כל אחד מהשלבים הבאים לפני שהקצה העורפי יכול להתאים בין רכב לנסיעה.
הגדרת ה-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. השרת. מידע נוסף זמין במאמר עדכון רכב.
בדוגמאות הבאות מוסבר איך להגדיר את מצב הרכב כ'מקוון' ב-Driver SDK:
Java
RidesharingVehicleReporter reporter = ...;
reporter.enableLocationTracking();
reporter.setVehicleState(VehicleState.ONLINE);
Kotlin
val reporter = ...
reporter.enableLocationTracking()
reporter.setVehicleState(VehicleState.ONLINE)
StatusListener
גם מדווח על שגיאות שמתרחשות בזמן העדכון של
מצב הרכב.