請上車

本節說明如何為車輛做好行程準備。您必須完成 每一個步驟,才能在後端比對車輛與行程之前。

設定事件監聽器

由於驅動程式 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()

設定更新間隔

根據預設,驅動程式 SDK 會以 10 秒的間隔傳送位置更新通知 車輛狀態為 ONLINE 時的間隔時間。您可以變更這個間隔: reporter.setLocationReportingInterval(long, TimeUnit)。支援的最低 更新間隔為 5 秒。更新頻率可能會降低 以及要求和錯誤

將車輛狀態設為「已連線」

開啟位置更新功能後,你可以將車輛狀態設為 ONLINE 允許車輛在 Fleet Engine 中使用 SearchVehicles 查詢。 驅動程式 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 也會回報更新 車輛狀態。

後續步驟

設定行程詳細資料