Fleet Engine は、顧客向けの交通サービスを管理するために使用するシステムと統合されるバックエンド サービスです。さまざまな API や SDK と相互運用して、マッピング、ルート、位置情報の管理を強化します。
Fleet Engine は、実際の車両フリートをモデル化した車両エンティティのルートとステータスの更新を提供します。システムが車両の進行状況の更新を Fleet Engine に送信すると、Fleet Engine は Driver SDK から提供されるリアルタイムの車両位置情報とルート情報を使用して、車両の移動に関する正確なレポート(到着予定時刻、交通情報、車両の空き状況)を提供します。
Fleet Engine サービスは、次の両方の Mobility Service サービスと連携します。
- オンデマンド トリップ: このサービスでは、Fleet Engine は、出発地から経由地、降車地までのルートのライフサイクルをモデル化します。トリップのライフサイクルでは、車両は、消費者のリクエストによって予約されたトリップを完了する手段として、乗車場所、中間ウェイポイント、降車場所を通過します。オンデマンド ルートの詳細については、オンデマンド ルートのドキュメントをご覧ください。
- スケジュール設定されたタスク: このサービスでは、Fleet Engine が配送またはサービスタスクのライフサイクルをモデル化します。この場合、ドライバーはルート上の各停車地で 1 つ以上のスケジュール設定されたタスクを完了する必要があります。タスクには、荷物の配達やサービスコールの完了などが含まれます。スケジュール設定されたタスクの詳細については、スケジュール設定されたタスクのドキュメントをご覧ください。
Fleet Engine でできること
Fleet Engine コンポーネントを使用すると、次のことができます。
- 消費者のルート追跡を有効にする: オンデマンド ルートでは、Fleet Engine の消費者向け機能を使用して、Consumer SDK をモバイルアプリまたはウェブアプリに統合できます。これにより、ユーザーは同じアプリを使用して、乗車リクエストとルートの追跡を行うことができます。
- お客様にリアルタイムの荷物情報を提供する: スケジュール設定されたタスクでは、Fleet Engine の消費者向け機能を使用し、JavaScript Consumer SDK をウェブアプリに統合できます。これにより、荷物のステータスに関する準リアルタイムの最新情報を消費者に提供できます。SDK には組み込みのフィルタとデータ プライバシーが用意されているため、消費者は注文に関連する情報のみを表示できます。
- フリート オペレーター ソリューションを設計する: スケジュール設定されたタスクには、JavaScript フリート トラッキング ライブラリを使用します。これにより、フリート オペレーターは 1 日を通して車両の割り当てをより適切に調整、管理できます。
- ドライバーのエクスペリエンスを向上させる: Driver SDK は、モバイルアプリ ツールキットであり、Fleet Engine の基本コンポーネントです。車両の機能を使用します。この SDK を使用すると、運転アプリで作業割り当てを管理し、ドライバーのナビゲーション機能とルート設定機能を有効にできます。SDK は、イベント リスナーを使用して、ドライバーが運転を開始したときに位置情報の更新を Fleet Engine に送信します。また、車両のステータスに関するシグナルを Fleet Engine に送信します。この SDK を使用すると、ドライバーは 1 つのアプリで割り当てを管理し、一般ユーザー向けの Google マップと同じようにナビゲーションを使用できます。別のアプリに切り替える必要はありません。
具体的には、これらのソリューションで以下を提供できます。
オンデマンドのルート
- ドライバーの車両の道路にスナップされたライブ位置。
- リアルタイムの交通情報を含む実際のドライバー ルート。
- 乗車場所と降車場所の予定到着時刻。
- 目的地が 1 か所の場合、複数の経由地がある場合、連続したルートの場合のトラッキング。
- 同じルートで複数のお客様を乗せる相乗り。
- 特定の地域内のすべての車両を一覧表示して、リクエストされた乗車に最適な車両を見つける。
スケジュール設定されたタスク
- リアルタイムの位置情報の更新が地図上に表示されます。
- 交通状況などの変化を反映して自動的に調整される到着予定時刻。
- 完了したタスクと保留中の停車地。発生する可能性のある問題に関する分析情報を提供します。
- 停車回数と距離。これにより、お客様の信頼が高まります。
Fleet Engine の仕組み
このセクションでは、各モビリティ サービスにおける Fleet Engine システムのオペレーションの概要について説明します。
オンデマンドのルート
次の図は、オンデマンドのルートの 2 つの主要な部分を示しています。1 つは、ドライバーが Fleet Engine との現在地の共有を有効にする 1 日の始まり、もう 1 つは、Fleet Engine コンポーネントを使用したルート管理の簡略図です。ルートプロセスの詳細については、ルートとはをご覧ください。をご覧ください。オンデマンド旅行のドキュメント
スケジュール設定されたタスク
次の図は、1 人のドライバーの一般的な配送日のマトリックスと、フリート トラッキング ライブラリを使用して Fleet Engine システムで作業がどのように処理されるかを示しています。
注: システムでは、配送追跡とフリート追跡の両方を使用できます。配送追跡では、Fleet Engine が配送情報とドライバー情報をフィルタして、お客様の配送に関連する情報のみを表示します。
Fleet Engine のアーキテクチャ
このセクションでは、さまざまな Fleet Engine サービスのシステム アーキテクチャについて説明します。どちらのサービスも、次のものを使用します。
- 車両: オンデマンドのトリップとスケジュール設定されたタスクは、業務を遂行するために使用されるビジネスでの利用の実世界の車両をモデル化する手段として、車両に依存しています。Fleet Engine では、車両エンティティは、Driver SDK と統合されたドライバーアプリを介して、関連付けられた実際の車両から提供される位置情報を受け取ります。Fleet Engine の車両は、2 つのサービス間でほぼ並列のエンティティですが、いくつかの違いがあります。Fleet Engine の車両について理解するには、車両の概要をご覧ください。
- Driver SDK: オンデマンド タスクとスケジュール設定されたタスクの両方で、Driver SDK は基本的なコンポーネントです。Driver SDK はドライバーアプリと統合され、位置情報の更新ストリームとルート情報を Fleet Engine に提供します。Fleet Engine は、この情報を使用して、移動のリアルタイム ステータスと、到着予定時刻や交通データなどのその他の情報をレポートします。
- Consumer SDK: オンデマンド タスクとスケジュール設定されたタスクの両方にとって重要なメリットは、Consumer SDK です。これは、乗車、食品配達、スケジュール設定された荷物配達のステータスを消費者に報告するために使用されます。
オンデマンドのルート
車両、ルート、SDK の説明については、オンデマンド ルートに関する関連ドキュメントをご覧ください。
スケジュール設定されたタスク
配送車両、タスク、SDK の詳細については、スケジュール設定されたタスクに関するドキュメントをご覧ください。
リソース
オンデマンドのルート
| 車両 | ||
|---|---|---|
| サービス | REST: v1.providers.vehicles
gRPC: maps.fleetengine.v1.VehicleService |
|
| リソース名 | providers/{provider}/vehicles/{vehicle} |
|
| ルート | ||
| サービス | REST: v1.providers.trips
gRPC: maps.fleetengine.v1.TripService |
|
| リソース名 | providers/{provider}/trips/{trip} |
|
スケジュール設定されたタスク
| 配達車両 | ||
|---|---|---|
| リソース | REST: providers.deliveryVehicles
gRPC: maps.delivery.v1 |
|
| リソース名 | providers/{provider}/deliveryVehicles/{vehicle} |
|
| タスク | ||
| サービス | REST: providers.tasks
gRPC: maps.fleetengine.delivery.v1.Task |
|
| リソース名 | providers/{provider}/tasks/{task} |
|
Fleet Engine でのリソースの命名
Fleet Engine では、すべての Google Cloud ベースのサービスと同様に、リソースには names と呼ばれる一意の識別子が文字列形式で指定されています。そのリソース名の一部はリソース ID であり、作成リクエストを発行するときに指定します。ただし、Fleet Engine リソースには ID フィールドはなく、リソース ID を含む出力専用の名前フィールドがあります。
Fleet Engine は相対的なリソース名を使用します。これらは、コレクション ID とリソース ID で構成され、階層を示すように構造化されています。
- コレクション ID: コレクションには、リソースまたは他のコレクションが保持されます。
オンデマンドのルート
3 つのコレクション: providers、vehicles、trips。
スケジュール設定されたタスク
3 つのコレクション: providers、deliveryVehicles、tasks。
リソース ID: リファレンス ドキュメントのリソース識別子は、名前フィールドの中かっこで示されます。これらは、作成リクエストを発行するときに指定する ID の変数です。
オンデマンドのルート
{provider}: クラウド プロジェクト ID。プロジェクトごとに 1 回作成されます。{vehicle}: 車両リソース。すべての車両の作成に使用され、通常は同じドライバーと車両のペアに再利用されます。{trip}: すべてのルートで使用されるルートリソース。通常は再利用されません。
スケジュール設定されたタスク
{provider}: クラウド プロジェクト ID。プロジェクトごとに 1 回作成されます。{vehicle}: 配送車両リソース。すべての車両の作成に使用され、通常は同じドライバーと車両のペアに再利用されます。{task}: タスクリソース。すべてのタスクで使用され、通常は再利用されません。
詳細については、Google Cloud APIs ドキュメントのリソース名をご覧ください。
Fleet Engine の Google Cloud ログ
Fleet Engine には、API リクエストとレスポンスのペイロードを保存できる基本的なロギング サービスが用意されています。これらのログを使用して、インテグレーションのデバッグ、モニタリング指標の作成、トラフィック パターンの分析を行うことができます。
詳細については、Cloud Logging をご覧ください。
Fleet Engine の使用方法
| 1 | Cloud プロジェクトを設定する。 | このステップでは、関連する API を有効にするだけでなく、さまざまなサービス アカウント ロールを作成します。 Fleet Engine API と SDK では、Cloud コンソールで作成されたサービス アカウントを使用して署名された JSON Web Token(JWT)を使用する必要があります。Fleet Engine プロジェクトを作成するの手順に沿って操作します。これらのロールの詳細については、サービス アカウントのロールをご覧ください。 |
| 2 | 設定を確認する | サービス アカウントを作成したら、設定が完了し、車両を作成できることを確認します。このステップにより、プロジェクトの設定中に発生する可能性のある一般的な認可の問題に対処できます。設定を確認するの手順に沿って操作します。 |
| 3 | 最初のジャーニーを作成する | これには、オンデマンドのルートまたはスケジュールされたタスクに沿った停車地を表す一連の座標を持つ 1 台の車両を作成することが含まれます。詳しくは、オンデマンドのルートまたはスケジュール設定されたタスクの概要コンテンツをご覧ください。 |
| 4 | インテグレーションをテストする | Fleet Engine のサービスとコンポーネントには、車両フリートからのリアルタイム データが必要です。ドライバーのフリートにアプリを設計、開発、デプロイするには時間がかかることがあります。そのため、本格的なデプロイを行う前に、まずモックデータを使用して統合をテストすることをおすすめします。詳しくは、Fleet Engine を設定するをご覧ください。 |
次のステップ
- Fleet Engine の車両について理解する。
- オンデマンドのルートまたはスケジュール設定されたタスクについて確認する。
- Fleet Engine を設定する。