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

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

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

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

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