このセクションのドキュメントでは、Google マップ モビリティのオンデマンド移動サービスを使用してルートを作成し、操作する方法について説明します。次の内容を理解していることを前提としています。
- Fleet Engine: Fleet Engine の実装の詳細、リクエスト メカニズム、セキュリティに精通している必要があります。詳細については、Fleet Engine サービスとはと、Fleet Engine を設定するのセキュリティ トピックをご覧ください。
- オンデマンド サービス用の車両の基本。車両の概要をご覧ください。
- オンデマンド サービス向けのルートの基本情報。オンデマンド ルートをご覧ください。
使用する TripService
は、gRPC と REST で使用できます。わかりやすくするため、フィールド参照は gRPC 規則に従います。
オンデマンド サービス向けの Fleet Engine では、ルートとは、ユーザーからのフード デリバリーまたは乗車リクエストのフルフィルメントをモデル化するルートの一種です。ルートには、ルートの進行に応じて Fleet Engine に報告するステータス(NEW
、ENROUTE_TO_PICKUP
など)があります。ルート ステータスは、車両に割り当てられた位置情報ウェイポイントに対応しています。フリート エンジンは、ルートの更新ごとにこれらの車両ウェイポイントを変更します。ルートおよび車両との関係の詳細については、Fleet Engine の基本のオンデマンドルートをご覧ください。
ルートのライフサイクル
Fleet Engine で各ルートを追跡するには、まず Trip
エンティティを作成する必要があります。詳しくは、gRPC または REST をご覧ください。
次の表に、システムで作成されたルートのエンドツーエンドのフロー例と、Fleet Engine でのライフサイクル ステージを示します。Fleet Engine が設定され、ルートに割り当てる車両があり、ドライバー アプリで位置情報の更新が有効になっていることを前提としています。Driver SDK: オンデマンド ルートをご覧ください。
1 | 予約リクエストを受信します。 | Fleet Engine の乗車が開始する前に、予約システムはまず、アプリまたは他の予約システムを通じて、消費者から配車または配達のリクエストを受け取ります。システムは、CreateTrip を使用して、乗車地点などの必須フィールドを含むルート エンティティを作成します。この時点で、乗客や降車地などの他のフィールドを設定することも、車両が割り当てられるまで待機することもできます。単一の目的地へのルートを作成するをご覧ください。 |
2 | 車両を割り当てる。 | 車両をシステム内で直接ルートに割り当て、割り当てをフリート エンジンに報告するか、車両を検索サービスを使用して車両を検索し、ルート属性と車両属性の両方でフィルタして、ルートを完了するのに最適な車両を見つけることができます。検索範囲内のオンライン車両は、Driver SDK から提供される位置情報の更新を通じて、近接性を通知します。
|
3 | ルートを更新する。 | ドライバーが乗車を承認し、乗車場所へのナビを開始すると、システムは乗車ステータスを NEW から ENROUTE_TO_PICKUP に更新します。アプリからバックエンドに直接接続するか、Driver SDK から車両位置情報の更新の継続的なストリームを受信する Fleet Engine をポーリングすることで、車両位置情報のポーリングを続けます。システムは、各ルートのマイルストーンを Fleet Engine に報告します。Fleet Engine は、それに応じて車両のウェイポイント リストを更新します。 |
4 | カスタマー ジャーニーを消費者と共有する。 | Fleet Engine は、Consumer SDK がルートの詳細と車両の位置情報を利用できるようにします。Consumer SDK はリスナーを使用してルートの更新を受け取ると、それをコンシューマ アプリに表示します。Fleet Engine は、予定時刻、残りの距離、ルート、車両の残りのルート上の地点を自動的に更新します。詳しくは、オンデマンド ルートのルートを共有するをご覧ください。 |
5 | 移動を完了。 | 車両がルートの目的地の地点に到着し、ドライバーがルートの成功を示すと、システムは Fleet Engine で TripStatus を COMPLETE に設定します。車両と同様に、ルートエンティティはステータスに関係なく Fleet Engine 内で 7 日間アクティブなままとなり、その時点で削除されます。 |
移動シーケンスのフロー
次の図は、このフローの詳細を示しています。