ユーザーが注文、配車、その他のサービスを利用する際に、ルートを追跡できるようにすることで、オンデマンドのルートのユーザー エクスペリエンスをカスタマイズできます。
Consumer SDK とは
Consumer SDK は、オンデマンドのルート用の Fleet Engine の一部です。ルートデータをモデル化し、Fleet Engine でルートを追跡するインターフェースを提供します。また、地図ベースの豊富な表示を作成して、ユーザーとルートを共有するために使用するクラスを提供します。Consumer SDK をアプリに統合し、Fleet Engine 内で適切なロール プロファイルを設定して、このユーザー エクスペリエンスを作成します。
Consumer SDK のプラットフォーム固有の API を使用すると、ルートをネイティブに共有する機能をアプリケーションに組み込むことができます。Consumer SDK は、次のプラットフォームでご利用いただけます。
Consumer SDK を使用する理由
Consumer SDK をオンデマンドのルート アプリケーションに統合すると、ほぼリアルタイムの位置情報の更新と道路にスナップされた位置情報により、包括的なユーザー エクスペリエンスを提供できます。ユーザーは、車両のルートを地図上に重ねて表示し、配車や配送の場所を把握できる進捗状況の詳細を確認できます。
Consumer SDK でできること
Driver SDK と Fleet Engine の情報を使用して、次のような機能を備えたカスタマイズされたユーザー エクスペリエンスを作成できます。
ブランドのニーズに合わせて地図の UI をカスタマイズします。
車両がルートに沿って移動するにつれて、車両の現在地を追跡し、位置情報を定期的に更新します。
乗車場所と降車場所の到着予定時刻(ETA)を表示します。
残りの距離を表示します。
ルート上のリアルタイムの交通状況を表示します。
Consumer SDK の仕組み
Consumer SDK は、主に次のメカニズムに依存しています。
- 認証済みアプリがユーザーの注文に関連付けられたルートを追跡できるように、適切な Fleet Engine ロールを設定します。
- バックエンド システムによって提供される、ユーザーとルートの関連付け。
- ルートデータをモデル化し、ユーザー アプリでルート セッションを共有する
TripModelおよびJourneySharingSessionSDK クラス。
Consumer SDK には、交通状況、地図マーカー、到着予定時刻、ルートデータなどの詳細情報を含む豊富なアプリ エクスペリエンスを作成できるように、他のインターフェースとクラスも用意されています。
次の表に、ユーザー アプリが追跡するルートのフローを示します。
| 1 | ユーザー アプリがルートをリクエストする | バックエンド サーバーがオンデマンドのルート リクエストを受け取り、次の処理を行います。
|
| 2 | ドライバーがルートを受け入れる | ドライバー アプリがルート ID とルート情報を取得し、ドライバー ルートを受け入れます。 |
| 3 | ユーザー アプリがルートを追跡するためのアクセスをリクエストする | ユーザー アプリがバックエンドからルート ID を取得し、 ルートの追跡を開始するようリクエストします。 |
| 4 | ドライバーがルートを開始する | ドライバーがドライバー アプリを使用してルートが開始されたことを示すと、アプリは Driver SDK を介してバックエンド サーバーに通知します。 たとえば、ドライバーが レストランを出発しようとしている場合や、乗車場所に向かっている場合などです。 |
| 5 | Fleet Engine がルート情報の送信を開始する | Fleet Engine はルートの追跡を開始し、その進捗状況をユーザー アプリと共有します。 |
| 6 | ユーザー アプリがルート情報を表示する | ユーザー アプリはユーザーに通知し、 ルート情報の表示を開始します。ルートの進行に合わせてルートを更新します。 |
| 7 | ルートがキャンセルまたは完了する | ドライバーがルートをキャンセルまたは完了すると、 ドライバー アプリは位置情報の追跡を無効にし、バックエンド サーバーは Fleet Engine にルートをキャンセルまたは完了としてマークするよう指示します。 |
| 8 | ユーザー アプリがルートの追跡を停止する | ルートがキャンセルまたは完了として表示されます。 |
| 9 | 次のルートでプロセスが繰り返される | 新しいルートが作成され、プロセスが繰り返されます。 |
Consumer SDK を使用する方法
プラットフォームを選択して、ユーザー アプリでルートの追跡を開始する方法を確認してください。
Android
| 1 | Android で Consumer SDK を設定する | アプリでオンデマンドのルートを追跡するには、Consumer SDK を設定します。詳細については、Android Consumer SDK を取得するをご覧ください。 |
| 2 | ビジュアル インターフェースを設定する | 地図を定義し、ベクター地図のサポートを追加して、ユーザー エクスペリエンスを設定します。詳細については、地図を設定するをご覧ください。 |
| 3 | ルートを追跡する | ルートを追跡して、適切な車両の位置情報をユーザーと共有します。詳細については、ルートを追跡するをご覧ください。 |
| 5 | ルートの進捗状況を更新し、ルートのエラーを処理する | 移動距離や到着予定時刻など、ルートの詳細情報を更新し、ルート中のエラーを処理します。詳細については、 ルートの進捗状況を更新すると ルートのエラーを処理するをご覧ください。 |
| 5 | ルートが完了したら、追跡を停止する | ルートの追跡を停止して、車両の位置情報のユーザーとの共有を停止します。詳細については、ルートの追跡を停止するをご覧ください。 |
iOS
| 1 | iOS で Consumer SDK を設定する | アプリでオンデマンドのルートを追跡するには、Consumer SDK を設定します。詳細については、iOS Consumer SDK を取得するをご覧ください。 |
| 2 | ビジュアル インターフェースを設定する | 地図表示を初期化し、地図イベントを処理して、ユーザー エクスペリエンスを設定します。詳細については、地図を設定するをご覧ください。 |
| 3 | ルートを追跡する | ルートを追跡して、適切な車両の位置情報をユーザーと共有します。詳細については、ルートを追跡するをご覧ください。 |
| 5 | ルートの進捗状況を更新し、ルートのエラーを処理する | 移動距離や到着予定時刻など、ルートの詳細情報を更新し、ルート中のエラーを処理します。詳細については、 ルートの進捗状況を更新すると ルートのエラーを処理するをご覧ください。 |
| 5 | ルートが完了したら、追跡を停止する | ルートの追跡を停止して、車両の位置情報のユーザーとの共有を停止します。詳細については、ルートの追跡を停止するをご覧ください。 |
JavaScript
| 1 | JavaScript で Consumer SDK を設定する | アプリでオンデマンドのルートを追跡するには、Consumer SDK を設定します。詳細については、JavaScript Consumer SDK を設定するをご覧ください。 |
| 2 | 地図を読み込んでカスタマイズする | Maps JavaScript API を有効にして、認証を設定し、ユーザー エクスペリエンスを設定します。詳細については、地図を設定するをご覧ください。 |
| 3 | ルートを追跡する | ルートを追跡して、適切な車両の位置情報をユーザーと共有します。詳細については、ルートを追跡するをご覧ください。 |
| 5 | ルートの進捗状況を更新し、ルートのエラーを処理する | 移動距離や到着予定時刻など、ルートの詳細情報を更新し、ルート中のエラーを処理します。詳細については、 ルートの進捗状況を更新して追跡すると ルートのエラーを処理するをご覧ください。 |
| 5 | ルートが完了したら、追跡を停止する | ルートの追跡を停止して、車両の位置情報のユーザーとの共有を停止します。詳細については、ルートの追跡を停止するをご覧ください。 |
コンポーネント
このセクションでは、ルートを追跡するために必要な 2 つのコンポーネントについて説明します。
必要に応じて、次のコンポーネントを使用してユーザー エクスペリエンスをカスタマイズすることもできます。
認証トークン フェッチャー
Fleet Engine に保存されている位置情報データへのアクセスを制御するには、次の操作を行う必要があります。
サーバーに Fleet Engine 用の JSON ウェブトークン(JWT)作成サービスを実装します。詳細については、JWT を発行するをご覧ください。
ウェブアプリまたはモバイルアプリに認証トークン フェッチャーを実装して、位置情報データへのアクセスを認証します。トークン フェッチャーの設定の詳細については、 Android、iOS、またはJavaScript の設定ガイドをご覧ください。
地図表示とルート トラッカー
ルートの追跡には、車両とウェイポイントの視覚化のためのコンポーネントと、ドライバーの到着予定時刻や走行距離の生のデータフィードが含まれます。
次の表に、これらのコンポーネントの説明を示します。
| コンポーネント | 説明 |
|---|---|
| ユーザーの地図表示 | 地図表示はルートのライフサイクルを管理し、ルートの進行に合わせて車両の位置のウェイポイントを表示します。 車両のルートがわかっている場合、地図表示は車両のルート ポリラインを更新して、ルートに沿った車両の進捗状況を示します。 |
| JavaScript のルート位置情報プロバイダ | JavaScript ウェブアプリの場合、ルート位置情報プロバイダは、追跡対象オブジェクトの位置情報を共有ルート地図にフィードします。詳細については、
ルート位置情報プロバイダをインスタンス化するをご覧ください。
ルート位置情報プロバイダを使用して、ルートの次の詳細情報を追跡できます。
|
追跡対象の位置情報オブジェクト
位置情報プロバイダは、次の表に示すように、ウェイポイントや車両などのオブジェクトの位置情報を追跡します。
| 追跡対象の位置情報 | 説明 |
|---|---|
| 受け取り場所 | 乗車場所はルートの開始地点です。 |
| 宛先のロケーション | 宛先のロケーションはルートの終点です。 降車場所を示します。 |
| ウェイポイントのロケーション | ウェイポイントのロケーションは、追跡対象のルートに沿った中間地点です。厳密に言うと、ウェイポイントには乗車場所と降車場所を含めることができますが、通常、ウェイポイントはルートに沿った中間地点を指します。たとえば、配送ルートの乗車場所と目的地の間にある停留所は、ウェイポイントのロケーションです。詳細については、Fleet Engine ドキュメントの ルートのウェイポイント をご覧ください。 |
| 車両の場所 | 車両の位置は、報告された車両の位置です。詳細については、Fleet Engine ドキュメントの車両の位置をご覧ください。 |
地図のスタイルを設定する
マーカーとポリラインのスタイルによって、地図上の追跡対象の位置情報オブジェクトのルック&フィールが決まります。カスタム スタイル オプションを使用して、ウェブ アプリケーションのスタイルに合わせることができます。
追跡対象の位置情報の表示を制御する
Fleet Engine の事前定義された位置情報プロバイダは、地図上の追跡対象の位置情報オブジェクトに対して次の表示ルールに従います。カスタムまたは派生した位置情報プロバイダを作成する場合は、表示ルールを変更できます。
車両はルートの進行中にのみ表示されます: ルートの車両 は、ルートに割り当てられた時点から降車時まで表示されます。 ルートがキャンセルされると、車両は表示されなくなります。
他のすべての位置マーカーは常に表示されます: 起点、目的地、ウェイポイントの他のすべての位置マーカーは常に地図上に表示されます。たとえば、ルートの降車場所や配送の配達場所は、ルートや配送の状態に関係なく、常に地図上に表示されます。
次のステップ
ルートを追跡するプラットフォームのドキュメントをご覧ください。