여행 만들기 및 여행 토큰 가져오기

운전자를 위해 안전하게 세부 경로 안내 내비게이션 세션을 시작하려면 백엔드에서 이동을 만들고 Navigation Connect API에서 인증된 이동 토큰을 가져와야 합니다.

Navigation Connect에서 이동은 단일 목적지로의 내비게이션 세션을 나타냅니다. 이동을 만들고 세션을 승인하는 데 필요한 인증된 이동 토큰 (authToken)을 가져오려면 CreateTripRequest 메시지를 CreateTrip 메서드로 전송합니다. 이동 토큰을 모바일 앱에 전달하여 Google 지도 또는 Waze의 실행 URL에 포함합니다.

이 가이드에서는 고유한 이동 ID를 생성하고 API 요청을 제출하여 이 프로세스를 완료하는 방법을 설명합니다.

CreateTripRequest 메시지 구성

이동을 만들고 이동 토큰을 가져오려면 다음 단계에 따라 CreateTripRequest 메시지를 구성하고 전송합니다.

  1. 인증: 애플리케이션 기본 사용자 인증 정보 (ADC)를 사용하여 요청을 승인하는 액세스 토큰을 가져옵니다. 자세한 내용은 OAuth 토큰 만들기를 참고하세요.
  2. 이동 ID 생성: 서버에서 이동을 식별하기 위해 UUIDv4 형식으로 고유한 이동 ID (tripId)를 만듭니다.
  3. 페이로드 구성: 앱 ID 와 구성 설정을 포함하는 JSON 페이로드를 만듭니다.
  4. CreateTrip 메서드 호출: 헤더에 액세스 토큰이 있고 본문에 페이로드가 있는 POST 요청을 API로 보냅니다.

다음 예에서는 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 실행