ユーザーが注文、配車、その他のサービスについてルートを追跡できるようにすることで、オンデマンドのルートのユーザー エクスペリエンスをカスタマイズします。
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 には、交通状況、地図マーカー、ETA、ルートデータなどの詳細情報を含む豊富なアプリ エクスペリエンスを作成できるように、他のインターフェースとクラスも用意されています。
次の表に、ユーザー アプリが追跡するルートのフローを示します。
| 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 のセットアップ ガイドをご覧ください。
地図ビューとルート トラッカー
ルートの追跡には、車両とウェイポイントの視覚化のためのコンポーネントと、ドライバーの ETA や走行距離の生のデータフィードが含まれます。
次の表に、これらのコンポーネントの説明を示します。
| コンポーネント | 説明 |
|---|---|
| ユーザーの地図ビュー | 地図ビューはルートのライフサイクルを管理し、ルートの進行に合わせて車両の位置のウェイポイントを表示します。 車両のルートがわかっている場合、地図ビューは車両のルート ポリラインを更新して、ルートに沿った車両の進捗状況を示します。 |
| JavaScript のルート位置情報プロバイダ | JavaScript ウェブアプリの場合、ルート位置情報プロバイダは、追跡対象オブジェクトの位置情報を共有ルート地図にフィードします。詳細については、
ルート位置情報プロバイダをインスタンス化するをご覧ください。
ルート位置情報プロバイダを使用して、ルートの次の詳細情報を追跡できます。
|
追跡対象の位置情報オブジェクト
位置情報プロバイダは、次の表に示すウェイポイントや車両などのオブジェクトの位置を追跡します。
| 追跡対象の位置情報 | 説明 |
|---|---|
| 乗車場所 | 乗車場所は、ルートが開始される場所です。 |
| 宛先のロケーション | 宛先のロケーションは、ルートが終了する場所です。 降車場所を示します。 |
| ウェイポイントのロケーション | ウェイポイントのロケーションは、追跡対象のルートに沿った中間地点です。厳密に言うと、ウェイポイントには乗車場所と降車場所を含めることができますが、通常、ウェイポイントはルートに沿った中間地点を指します。たとえば、配送ルートの乗車場所と宛先のロケーションの間にある停留所は、ウェイポイントのロケーションです。詳細については、Fleet Engine ドキュメントの ルートのウェイポイント をご覧ください。 |
| 車両の場所 | 車両の場所は、報告された車両の位置です。詳細については、Fleet Engine ドキュメントの車両の場所をご覧ください。 |
地図のスタイルを設定する
マーカーとポリラインのスタイルによって、地図上の追跡対象の位置情報オブジェクトのルック&フィールが決まります。カスタム スタイル オプションを使用して、ウェブ アプリケーションのスタイルに合わせることができます。
追跡対象の位置情報の表示を制御する
Fleet Engine の事前定義された位置情報プロバイダは、地図上の追跡対象の位置情報オブジェクトに対して次の表示ルールに従います。カスタムまたは派生した位置情報プロバイダを作成する場合は、表示ルールを変更できます。
車両はルートの進行中にのみ表示されます: ルート車両 は、ルートに割り当てられた時点から降車時まで表示されます。 ルートがキャンセルされた場合、車両は表示されなくなります。
他のすべての位置マーカーは常に表示されます: 起点、目的地、ウェイポイントの他のすべての位置マーカーは常に地図上に表示されます。たとえば、ルートの降車場所や配送の配達場所は、ルートや配送の状態に関係なく、常に地図上に表示されます。
次のステップ
ルートを追跡するプラットフォームのドキュメントをご覧ください。