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