車両の準備

このセクションでは、車両の準備を整える方法について説明します。完了する必要があります バックエンドで車両をルートに一致させる前に、以下の各ステップを実施する必要があります。

リスナーを設定する

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 に設定できます。 Fleet Engine の SearchVehicles クエリで車両を利用できるようにします。「 Driver 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 は、バージョンの更新中に発生したエラーも報告します。 車両の状態。

次のステップ

ルートの詳細を設定する