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 つの重要な部分を示しています。ドライバーが 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 の説明については、オンデマンド ルートの関連ドキュメントをご覧ください。

  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 があり、文字列形式で指定されます。そのリソース名の一部はリソース ID です。これは、作成リクエストを発行するときに指定します。ただし、Fleet Engine リソースには ID フィールドがありません。代わりに、リソース ID を含む出力専用の名前フィールドがあります。

Fleet Engine は相対的なリソース名を使用します。これらは、コレクション ID とリソース ID で構成され、階層を示すように構造化されています。

  • コレクション ID: コレクションには、リソースや他のコレクションを保持できます。

オンデマンド ルート

3 つのコレクション: providersvehiclestrips

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

3 つのコレクション: providersdeliveryVehiclestasks

リソース ID: リファレンス ドキュメントのリソース 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 Web Token(JWT)を使用する必要があります。Fleet Engine プロジェクトを作成するの手順に沿って操作します。これらのロールの詳細については、サービス アカウントのロールをご覧ください。

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

次のステップ

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