ドライバー向けに安全にターンバイターン ナビゲーション セッションを開始するには、バックエンドで乗車を作成し、Navigation Connect API から認証済みの乗車トークンを取得する必要があります。
Navigation Connect では、ルートは単一の目的地へのナビゲーション セッションを表します。セッションの承認に必要な旅行を作成して認証済み旅行トークン(authToken)を取得するには、CreateTrip メソッドに CreateTripRequest メッセージを送信します。Google マップまたは Waze の起動 URL に含めるために、ルートトークンをモバイルアプリに渡します。
このガイドでは、一意の乗車 ID を生成して API リクエストを送信することで、このプロセスを完了する方法について説明します。
CreateTripRequest メッセージを構築する
乗車を作成して乗車トークンを取得するには、次の手順で CreateTripRequest メッセージを作成して送信します。
- 認証: アプリケーションのデフォルト認証情報(ADC)を使用してアクセス トークンを取得し、リクエストを承認します。詳細については、OAuth トークンを作成するをご覧ください。
- 乗車 ID を生成する: サーバーで乗車を識別するために、UUIDv4 形式で一意の乗車 ID(
tripId)を作成します。 - ペイロードを構築する: アプリ 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 を起動します。