Fleet Engine サービスとは

Fleet Engine は、お客様の輸送サービスを管理するために使用するシステムと統合するバックエンド サービスです。さまざまな API や SDK と相互運用して、マッピング、ルーティング、位置情報管理を強化します。

Fleet Engine は、実際の車両フリートをモデル化した車両エンティティのルートとステータスの更新を提供します。システムが車両の進行状況の更新を Fleet Engine に送信すると、Fleet Engine は Driver SDK から提供されたリアルタイムの車両位置情報とルート情報を使用して、車両の移動に関する正確なレポート(到着予定時刻、交通情報、車両の空き状況など)を提供します。

Fleet Engine

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 マップの一般ユーザー向けバージョンを使用する場合と同様に、別のアプリに切り替える必要はありません。

具体的には、これらのソリューションで次のことを実現できます。

オンデマンドのルート

  • ドライバーの車両のライブの道路スナップ位置。
  • リアルタイムの交通情報を含む実際の運転手のルート。
  • 乗車場所と降車場所の到着予定時刻。
  • 単一目的地、複数目的地、連続した旅行の追跡。
  • 同じルートで複数のお客様が相乗りする。
  • 特定の地域内のすべての車両を一覧表示して、リクエストされた乗車に最適な車両を見つける。

スケジュール設定されたタスク

  • 地図上にリアルタイムで位置情報を更新します。
  • 交通状況などの変化する状況を反映して自動的に調整される到着予定時刻。
  • 完了したタスクと保留中の停止により、考えられる問題に関する分析情報を提供します。
  • 停車回数と距離を表示することで、お客様の安心感を高めます。

Fleet Engine の仕組み

このセクションでは、各モビリティ サービスにおける Fleet Engine システムのオペレーションの概要について説明します。

オンデマンドのルート

次の図は、オンデマンド乗車における 2 つの重要な部分を示しています。1 つは、ドライバーが Fleet Engine への位置情報の共有を有効にする 1 日の始まりです。もう 1 つは、Fleet Engine コンポーネントを使用した乗車管理の簡略化されたビューです。旅行プロセスの詳細については、旅行とはをご覧ください。オンデマンドの乗車に関するドキュメントをご覧ください。

スケジュール設定されたタスク

次の図は、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 については、オンデマンド乗車に関する次のドキュメントをご覧ください。

  1. 車両の概要
  2. オンデマンドの乗車
  3. オンデマンド乗車用の Driver SDK
  4. オンデマンド乗車用の Consumer SDK

スケジュール設定されたタスク

配送車両、タスク、SDK については、スケジュール設定されたタスクに関する次のドキュメントをご覧ください。

  1. 車両の概要
  2. スケジュールされたタスク
  3. スケジュール設定されたタスク用の Driver SDK
  4. スケジュール設定されたタスク用の Consumer 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 つのコレクション(providersvehiclestrips)。

スケジュール設定されたタスク

3 つのコレクション(providersdeliveryVehiclestasks)。

リソース 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 Console で作成されたサービス アカウントを使用して署名された JSON ウェブトークン(JWT)を使用する必要があります。Fleet Engine プロジェクトを作成するの手順に沿って操作します。これらのロールの詳細については、サービス アカウントのロールをご覧ください。

2 設定を確認する サービス アカウントを作成したら、設定が完了し、車両を作成できることを確認します。この手順により、プロジェクトのセットアップ中に発生する可能性のある一般的な認可の問題に対処できます。セットアップを確認するの手順に沿って操作します。
3 最初のジャーニーを作成する これには、オンデマンドの乗車またはスケジュールされたタスクに沿った停留所を表す一連の座標を持つ 1 台の車両を作成することが含まれます。詳しくは、オンデマンド トリップまたはスケジュール設定されたタスクの概要をご覧ください。
4 インテグレーションをテストする Fleet Engine のサービスとコンポーネントには、車両フリートからのリアルタイム データが必要です。ドライバーのフリート向けにアプリを設計、開発、デプロイするには時間がかかることがあります。そのため、本格的なデプロイを行う前に、まずモックデータを使用して統合を検証することをおすすめします。詳細については、Fleet Engine を設定するをご覧ください。

次のステップ

  1. Fleet Engine の車両について理解する。
  2. オンデマンド トリップまたはスケジュール設定されたタスクについて確認する。
  3. Fleet Engine を設定する