מכינים את הרכב

בקטע הזה מוסבר איך להכין את הרכב לנסיעות. חובה להשלים כל אחד מהשלבים הבאים לפני שהקצה העורפי יכול להתאים בין רכב לנסיעה.

הגדרת ה-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 גם מדווח על שגיאות שמתרחשות בזמן העדכון של מצב הרכב.

המאמרים הבאים

הגדרת פרטי הנסיעה