ルートを作成してルートトークンを取得する

ドライバー向けに安全にターンバイターン ナビゲーション セッションを開始するには、バックエンドで乗車を作成し、Navigation Connect API から認証済みの乗車トークンを取得する必要があります。

Navigation Connect では、ルートは単一の目的地へのナビゲーション セッションを表します。セッションの承認に必要な旅行を作成して認証済み旅行トークン(authToken)を取得するには、CreateTrip メソッドに CreateTripRequest メッセージを送信します。Google マップまたは Waze の起動 URL に含めるために、ルートトークンをモバイルアプリに渡します。

このガイドでは、一意の乗車 ID を生成して API リクエストを送信することで、このプロセスを完了する方法について説明します。

CreateTripRequest メッセージを構築する

乗車を作成して乗車トークンを取得するには、次の手順で CreateTripRequest メッセージを作成して送信します。

  1. 認証: アプリケーションのデフォルト認証情報(ADC)を使用してアクセス トークンを取得し、リクエストを承認します。詳細については、OAuth トークンを作成するをご覧ください。
  2. 乗車 ID を生成する: サーバーで乗車を識別するために、UUIDv4 形式で一意の乗車 ID(tripId)を作成します。
  3. ペイロードを構築する: アプリ ID と構成設定を含む JSON ペイロードを作成します。
  4. 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

アクティブなルートのポリラインとリアルタイムの交通状況を受け取るには、config.enableRemainingRouteReportingtrue に設定します。

ルートの更新頻度 boolean

デフォルトでは、Navigation Connect は 60 秒ごとにルートデータを更新します。高頻度(5 秒ごと)の更新を有効にするには、config.enableHighFrequencyUpdatestrue に設定します。

Google Cloud Pub/Sub イベントの生成 boolean

Google Cloud Pub/Sub を使用して乗車イベントの生成を有効にするには、config.enablePubsubtrue に設定します。この機能はデフォルトでは無効になっています。

Google Cloud Pub/Sub フィールド マスク FieldMask

ペイロード サイズを管理し、バックエンド処理の負荷や Google Cloud Pub/Sub の使用コストを削減するには、config.pubsubFieldMask を使用して、イベント ストリームから重いフィールド(execution.remainingRoute など)を除外します。残りのルートデータのペイロード サイズの詳細については、残りのルートデータを処理するをご覧ください。

レスポンスから乗車トークンを取得する

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 を起動します。

Google マップまたは Waze を起動する