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

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

הגדרת מאזין

מכיוון ש-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());

הפעלת עדכוני מיקום

אחרי שמגדירים את מאזין המיקום, מפעילים את עדכוני המיקום באופן הבא:

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

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

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