ドライバー向けのターンバイターン ナビゲーション セッションを安全に開始するには、バックエンドでルートを作成し、Navigation Connect API から認証済みのルートトークンを取得する必要があります。
Navigation Connect では、ルートは 1 つの目的地へのナビゲーション セッションを表します。ルートを作成し、セッションの承認に必要な認証済みルートトークン
(authToken)を取得するには、CreateTripRequest
メッセージをCreateTripメソッドに送信します。ルートトークンをモバイルアプリに渡して、Google マップまたは Waze の起動 URL に含めます。
このガイドでは、一意のルート ID を生成して API リクエストを送信し、このプロセスを完了する方法について説明します。
CreateTripRequest メッセージを作成する
ルートを作成してルートトークンを取得するには、次の手順で CreateTripRequest メッセージを作成して送信します。
- 認証: アプリケーションのデフォルト認証情報(ADC) を使用してアクセス トークンを取得し、リクエストを承認します。詳しくは、 OAuth トークンを作成するをご覧ください。
- ルート ID を生成する: サーバーでルートを識別するための一意のルート ID(
tripId)を UUIDv4 形式で作成します。 - ペイロードを作成する: アプリ ID と構成設定を含む JSON ペイロードを作成します。
CreateTripメソッドを呼び出す: ヘッダーに アクセス トークン、本文にペイロードを指定して、API に POST リクエストを送信します。
次の例は、CreateTripRequest メッセージを送信してルートを作成する方法を示しています。
#!/bin/bash
# Authenticate with ADC
access_token="$(gcloud auth application-default login --impersonate-service-account=SERVICE_ACCOUNT_EMAIL)"
# Generate a unique Trip ID
trip_id="$(uuidgen)"
# Construct the payload
payload=$(cat <<EOF
{
"androidAppId": "ANDROID_APP_ID",
"iosAppId": "IOS_APP_ID",
"config": {
"enablePubsub": true
}
}
EOF
)
# Call the CreateTrip method to request a trip token
curl -X POST "https://navigationconnect.googleapis.com/v1/projects/PROJECT_ID/trips?tripId=${trip_id}" \
-H "Authorization: Bearer ${access_token}" \
-H "Content-Type: application/json" \
-d "${payload}"
オプションの構成
CreateTripRequest メッセージで次の設定を調整して、ルートデータをカスタマイズできます。
| 機能 | タイプ | 説明 |
|---|---|---|
| 残りのルートのレポート(Waze のみ) | boolean |
アクティブなルートのポリラインとリアルタイムの交通状況を受信するには、 |
| ルートの更新頻度 | boolean |
デフォルトでは、Navigation Connect は 60 秒ごとにルートデータを更新します。高頻度更新(5 秒ごと)を有効にするには、 |
| Google Cloud Pub/Sub イベントの生成 | boolean |
Google Cloud Pub/Sub を使用してルートイベントの生成を有効にするには、 |
| Google Cloud Pub/Sub フィールド マスク | FieldMask |
ペイロード サイズを管理し、バックエンドの処理負荷や Google Cloud Pub/Sub の使用コストを削減するには、 |
レスポンスからルートトークンを取得する
CreateTrip メソッドは、認証済みのルートトークンを含むレスポンスを返します。ナビゲーション セッションを承認するには、レスポンスからこのトークンを抽出し、モバイルアプリに渡して起動 URL に含めます。
次のコードサンプルは、レスポンスの例を示しています。
{
"name": "projects/PROJECT_NUMBER/trips/TRIP_ID",
"authToken": {
"token": "BASE64_ENCODED_TRIP_TOKEN",
"expireTime": "2026-03-06T11:09:47.476942Z"
},
"state": "NEW",
"execution": {
"traveledDistanceMeters": 0,
"stopAddedInRoute": false
},
"createTime": "2026-03-05T23:09:50.768959Z",
"updateTime": "2026-03-05T23:09:50.768959Z"
}
このレスポンスには次の値が含まれます。
- PROJECT_NUMBER: プロジェクトの一意の数値識別子。 英数字のプロジェクト ID とは異なりますが、同じ Google Cloud プロジェクトを表します。
- TRIP_ID: バックエンドで生成された UUIDv4 形式のルート ID。
- BASE64_ENCODED_TRIP_TOKEN:
CreateTripメソッドから返される認証済みのルートトークン (authToken.token)。このトークンをモバイルアプリに渡して、Google マップまたは Waze でターンバイターン ナビゲーションを開始します。
次のステップ
ルートトークンを使用して Google マップまたは Waze を起動します。