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 Fleet Tracking ライブラリを使用して、フリート オペレーターが 1 日を通して車両の割り当てをより適切に調整、管理できるようにします。
- ドライバーのエクスペリエンスを向上させる: Driver SDK はモバイルアプリのツールキット であり、Fleet Engine の基本コンポーネントです。車両の機能を使用します。この SDK を使用すると、運転アプリで作業の割り当てを管理し、ドライバーのナビゲーションとルーティング機能を有効にできます。SDK は、ドライバーが運転を開始すると、イベント リスナーを使用して位置情報の更新を Fleet Engine に送信します。また、車両のステータスに関するシグナルを Fleet Engine に送信します。この SDK を使用すると、ドライバーは 1 つのアプリで割り当てを管理し、Google マップの消費者向けバージョンを使用する場合と同じようにナビゲーションできます。別のアプリに切り替える必要はありません。
具体的には、これらのソリューションで次のことを実現できます。
オンデマンドの移動
- ドライバーの車両の道路にスナップされたリアルタイムの位置情報。
- リアルタイム交通情報を含む実際のドライバーのルート。
- 乗車地と降車地の予定到着時刻。
- 単一目的地、複数目的地、連続した移動の追跡。
- 同じルートでの複数のお客様の相乗り。
- 特定の地域内のすべての車両を一覧表示して、リクエストされた配車に最適な車両を見つける。
スケジュール設定されたタスク
- 地図上にレンダリングされたリアルタイムの位置情報の更新。
- 交通状況などの変化する状況を反映した自動調整された到着予定時刻。
- 完了したタスクと保留中の経由地により、考えられる問題の把握が可能。
- 経由地の数と距離により、お客様の信頼性が向上 。
Fleet Engine の仕組み
このセクションでは、各 Mobility オファリングの Fleet Engine システムのオペレーションの概要について説明します。
オンデマンドの移動
次の図は、オンデマンドの移動の 2 つの重要な部分を示しています。ドライバーが Fleet Engine への現在地の共有を有効にする 1 日の始まりと、Fleet Engine コンポーネントを使用した移動管理の簡略化されたビューです。移動プロセスの詳細については、 オンデマンドの移動 のドキュメントの移動とはをご覧ください。をご覧ください。
スケジュール設定されたタスク
次の図は、1 人の ドライバーの一般的な配送業務の 1 日のマトリックスと、Fleet Tracking ライブラリを使用して 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}: Cloud プロジェクト ID。プロジェクトごとに 1 回作成されます。{vehicle}: 車両リソース。すべての車両 の作成に使用され、通常は同じドライバーと車両のペアで再利用されます。{trip}: 移動リソース。すべての移動に使用され、通常は再利用されません。
スケジュール設定されたタスク
{provider}: Cloud プロジェクト 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 ウェブトークン(JWT)を使用する必要があります。Fleet Engine プロジェクトを作成するの手順に沿って操作します。これらのロールについて詳しくは、サービス アカウントのロールをご覧ください。 |
| 2 | 設定を確認する | サービス アカウントを作成したら、 設定が完了し、車両を作成できることを確認します。このステップ では、プロジェクトの設定中に発生する可能性のある一般的な認可の問題に対処します。設定を確認するの手順に沿って操作します。 |
| 3 | 最初のジャーニーを作成する | これには、オンデマンドの移動またはスケジュール設定されたタスクの経由地を表す座標のセットを持つ単一の車両を作成することが含まれます。詳細については、 オンデマンドの移動または スケジュール設定されたタスクの概要をご覧ください。 |
| 4 | インテグレーションをテストする | Fleet Engine のサービスとコンポーネントには、車両フリートからのリアルタイム データが必要です。ドライバーのフリートに アプリを設計、開発、デプロイするには時間がかかることがあります。そのため、本格的なデプロイを行う前に、まずモックデータを使用して インテグレーションを検証することをおすすめします。詳細については、 Fleet Engine を設定するをご覧ください。 |
次のステップ
- Fleet Engine の車両について理解する。
- オンデマンドの移動について学習する、またはスケジュール設定されたタスク。
- Fleet Engine を設定する。