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

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

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

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

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

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