Fleet Engine は、お客様の輸送サービスを管理するために使用するシステムと統合するバックエンド サービス です。さまざまな API や SDK と連携して、マッピング、ルーティング、位置情報の管理を強化します。
Fleet Engine は、実際の車両フリートをモデル化した車両エンティティのルーティングとステータスの更新を提供します。システムが車両の進捗状況の更新を Fleet Engine に送信すると、Fleet Engine は Driver SDK から提供されるリアルタイムの車両位置情報とルーティング情報を使用して、車両の移動に関する正確なレポート(到着予定時刻、交通情報、車両の空き状況)を提供します。
Fleet Engine サービスは、次の両方の Mobility Service サービスと連携します。
- オンデマンドの旅程: このサービスでは、Fleet Engine は a 旅程のライフサイクル(出発地から経由地、降車地まで)をモデル化します。旅程のライフサイクルでは、 車両は乗客のリクエストで予約された旅程を完了するために、乗車地、中間地点、 降車地を経由します。オンデマンドの旅程の詳細については、オンデマンドの旅程のドキュメントをご覧ください。
- スケジュール設定されたタスク: このサービスでは、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 マップの乗客向けバージョンを使用する場合と同じようにナビゲーションできます。別のアプリに切り替える必要はありません。
具体的には、これらのソリューションで次のことを実現できます。
オンデマンドの旅程
- ドライバーの車両の道路にスナップされたリアルタイムの位置情報。
- リアルタイム交通情報を含む実際のドライバーのルート。
- 乗車地と降車地の予定到着時刻。
- 目的地が 1 か所の場合や、複数の経由地がある場合、連続する旅程の追跡。
- 同じルートで複数の乗客が相乗りする。
- 特定の地域内のすべての車両を一覧表示して、リクエストされた旅程に最適な 車両を見つける。
スケジュール設定されたタスク
- 地図上に表示されるリアルタイムの位置情報の更新。
- 交通状況などの変化する状況を反映した、自動調整された到着予定時刻。
- 完了したタスクと保留中の経由地を表示して、考えられる 問題の把握を支援する。
- 経由地の数と距離を表示して、乗客の信頼を高める 。
Fleet Engine の仕組み
このセクションでは、各 Mobility サービスにおける Fleet Engine システムのオペレーションの概要について説明します。
オンデマンドの旅程
次の図は、オンデマンドの旅程の 2 つの重要な部分を示しています。 ドライバーが Fleet Engine への位置情報の共有を有効にする 1 日の始まりと、 Fleet Engine コンポーネントを使用した旅程管理の簡略化されたビューです。 旅程プロセスの詳細については、 旅程とは をご覧ください。in the On-demand trips documentation.
スケジュール設定されたタスク
次の図は、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 | 最初の旅程を作成する | これには、オンデマンドの旅程またはスケジュール設定されたタスクの経由地を表す座標のセットを持つ 1 台の車両を作成することが含まれます。詳細については、 オンデマンドの旅程または スケジュール設定されたタスクの概要をご覧ください。 |
| 4 | インテグレーションをテストする | Fleet Engine のサービスとコンポーネントには、車両フリートからのリアルタイム データが必要です。ドライバーのフリートに アプリを設計、開発、デプロイするには時間がかかることがあります。そのため、本格的なデプロイを行う前に、まずモックデータを使用して インテグレーションを検証することをおすすめします。詳細については、 Fleet Engine を設定するをご覧ください。 |
次のステップ
- Fleet Engine の車両について理解する。
- オンデマンドの旅程について学習するか、スケジュール設定されたタスクについて学習する。
- Fleet Engine を設定する。