このセクションでは、車両の準備を整える方法について説明します。完了する必要があります バックエンドで車両をルートに一致させる前に、以下の各ステップを実施する必要があります。
リスナーを設定する
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()
更新間隔を設定する
デフォルトでは、車両の状態が ONLINE
の場合、Driver SDK は 10 秒間隔で位置情報の更新を送信します。この間隔は
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
は、バージョンの更新中に発生したエラーも報告します。
車両の状態。