Google マップまたは Waze からルートデータの更新を受け取るには、次のいずれかのオプションを使用してバックエンドを構成します。
- Navigation Connect API を使用する pull メソッド
- Google Cloud Pub/Sub を使用したイベント ドリブン型の push 方式。
オプション 1: Navigation Connect API を使用する
最新の乗車ステータスを手動で取得するには、一意の乗車 ID を指定して GetTrip メソッドを呼び出します。
次のサンプルは、アプリケーションのデフォルト認証情報(ADC)を使用してサーバー間リクエストを承認し、コマンドラインから API を呼び出す方法を示しています。
#!/bin/bash
gcloud auth application-default login
access_token="$(gcloud auth application-default print-access-token)"
# Call the GetTrip method
curl -X GET "https://navigationconnect.googleapis.com/v1/projects/PROJECT_ID/trips/TRIP_ID" \
-H "Authorization: Bearer ${access_token}" \
-H "Content-Type: application/json"
ポリラインの形式をカスタマイズする(Waze のみ)
乗車ルートの作成時に残りのルートのレポートを有効にしている場合は、GetTrip メソッドを呼び出すときに、返されるアクティブなルートのポリラインの表現をカスタマイズできます。
ポリラインの形式を選択するには、リクエストに routePolylineFormat パラメータを含めます。サポートされている形式は次のとおりです。
ENCODED: 標準のエンコードされたポリライン文字列(小数点以下 5 桁)。S2ENCODED: エンコードされた S2Polyline。GEO_JSON: GeoJSON LineString 形式。
オプション 2: Google Cloud Pub/Sub を使用する
定期的に乗車情報の更新を受け取るには、Google Cloud Pub/Sub トピックをサブスクライブします。ドライバーが同意すると、Navigation Connect は更新情報をトピックに直接送信します。
メッセージングの概要については、Pub/Sub クイックスタートをご覧ください。
以降のセクションでは、Google Cloud Pub/Sub を使用して Google マップまたは Waze のナビゲーション セッションからデータを受信する方法について説明します。
1. トピックの作成
Google Cloud プロジェクトに、次のように navigation_connect_trip_notifications という名前のトピックを作成します。
- Pub/Sub API を有効にします。
- Google Cloud コンソールで Pub/Sub の [トピック] ページに移動します。
- [トピックを作成] をクリックします。
[トピック ID] フィールドに「
navigation_connect_trip_notifications」と入力します。[作成] をクリックします。
コンソールにトピックの完全名 projects/project-number/topics/navigation_connect_trip_notifications が表示されます。ここで、project-number は一意のプロジェクト番号です。
2. Navigation Connect サービス アカウントに公開権限を付与する
Google はサービス アカウントを使用して、Google Cloud Pub/Sub トピックに乗車情報の更新を公開します。トピックで更新を受け取るには、このトピックに対する projects.topics.publish 権限を次のサービス アカウントに付与します: geo-navigation-connect-pubsub@system.gserviceaccount.com。
詳細については、アクセス制御に関する Pub/Sub のドキュメントをご覧ください。
3. バックエンドと統合する
更新を処理するには、トピックを認証して登録するサーバーサイド アプリケーションを作成します。開発を効率化するには、Pub/Sub クライアント ライブラリを使用します。テストには、GCloud CLI と Google コンソールを使用することもできます。
4. 定期購入をテストする
gcloud CLI または Google Cloud コンソールを使用して設定を確認します。
gcloud CLI
次のコマンドを使用して、サブスクリプション(my-sub など)からメッセージを pull します。
gcloud pubsub subscriptions pull my-sub --auto-ack
Google Cloud コンソール
Google Cloud コンソールで、次の操作を行います。
- [サブスクリプション] ページを開きます。
- サブスクリプションを選択し、[メッセージ] タブをクリックします。
- [PULL] をクリックします。
次のステップ
ルートデータの受信を開始したら、データを解析してシステムやアプリで使用します。