Seyahat oluşturma ve seyahat jetonu alma

Bir sürücü için adım adım yol tarifi oturumunu güvenli bir şekilde başlatmak istiyorsanız arka uçunuzun bir gezi oluşturması ve Navigation Connect API'den kimliği doğrulanmış bir gezi jetonu alması gerekir.

Navigation Connect'te gezi, tek bir hedefe yönelik navigasyon oturumunu ifade eder. Gezi oluşturmak ve oturumu yetkilendirmek için gereken kimliği doğrulanmış gezi jetonunu (authToken) almak üzere CreateTrip yöntemine CreateTripRequest mesajı gönderin. Gezi jetonunu, Google Haritalar veya Waze'in başlatma URL'sine eklemek için mobil uygulamanıza iletin.

Bu kılavuzda, benzersiz bir gezi kimliği oluşturarak ve API isteğinizi göndererek bu süreci nasıl tamamlayacağınız açıklanmaktadır.

CreateTripRequest mesajı oluşturma

Seyahat oluşturmak ve seyahat jetonu almak için CreateTripRequest mesajı oluşturup göndermek üzere aşağıdaki adımları uygulayın:

  1. Kimlik doğrulama: İsteğinizi yetkilendirmek için erişim jetonu almak üzere Uygulama Varsayılan Kimlik Bilgileri'ni (ADC) kullanın. Daha fazla bilgi için OAuth jetonu oluşturma başlıklı makaleyi inceleyin.
  2. Seyahat kimliği oluşturma: Sunucunuzda seyahati tanımlamak için UUIDv4 biçiminde benzersiz bir seyahat kimliği (tripId) oluşturun.
  3. Yükü oluşturun: Uygulama kimliklerinizi ve yapılandırma ayarlarınızı içeren bir JSON yükü oluşturun.
  4. CreateTrip yöntemini çağırın: Başlıkta erişim jetonu, gövdede ise yük olacak şekilde API'ye bir POST isteği gönderin.

Aşağıdaki örnekte, CreateTripRequest mesajı göndererek nasıl gezi oluşturulacağı gösterilmektedir:

#!/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}"

İsteğe bağlı yapılandırmalar

Aşağıdaki ayarları CreateTripRequest mesajında düzenleyerek gezi verilerini özelleştirebilirsiniz:

Özellik Tür Açıklama
Kalan rota raporlama (yalnızca Waze) boolean

Etkin rota poliline ve gerçek zamanlı trafik koşullarına erişmek için config.enableRemainingRouteReporting değerini true olarak ayarlayın.

Seyahat güncelleme sıklığı boolean

Varsayılan olarak Navigation Connect, seyahat verilerini 60 saniyede bir günceller. Yüksek sıklıkta güncellemeleri (5 saniyede bir) etkinleştirmek için config.enableHighFrequencyUpdates değerini true olarak ayarlayın.

Google Cloud Pub/Sub etkinlik oluşturma boolean

Google Cloud Pub/Sub'ı kullanarak seyahat etkinliği oluşturmayı etkinleştirmek için config.enablePubsub değerini true olarak ayarlayın. Bu özellik varsayılan olarak devre dışıdır.

Google Cloud Pub/Sub alan maskesi FieldMask

Yük boyutlarını yönetmek ve arka uç işleme yükünü ya da Google Cloud Pub/Sub kullanım maliyetlerini azaltmak için config.pubsubFieldMask kullanarak ağır alanları (ör. execution.remainingRoute) etkinlik akışınızdan çıkarın. Kalan rota verilerinin yük boyutu hakkında daha fazla bilgi için Kalan rota verilerini işleme başlıklı makaleyi inceleyin.

Yanıtı kullanarak gezi jetonunu alma

CreateTrip yöntemi, kimliği doğrulanmış seyahat jetonunu içeren bir yanıt döndürür. Geçiş oturumunu yetkilendirmek için bu jetonu yanıttan çıkarın ve başlatma URL'sine eklemek üzere mobil uygulamanıza iletin.

Aşağıdaki kod örneğinde bir örnek yanıt gösterilmektedir:

{
    "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"
}

Bu yanıtta aşağıdaki değerler yer alır:

  • PROJECT_NUMBER: Projenizin benzersiz sayısal tanımlayıcısıdır. Bu, alfanümerik proje kimliğinizden farklıdır ancak aynı Google Cloud projesini temsil eder.
  • TRIP_ID: Arka uçunuz tarafından UUIDv4 biçiminde oluşturulan gezi kimliği.
  • BASE64_ENCODED_TRIP_TOKEN: CreateTrip yöntemi tarafından döndürülen kimliği doğrulanmış gezi jetonu (authToken.token). Google Haritalar veya Waze'de adım adım takip edilen navigasyonu başlatmak için bu jetonu mobil uygulamanıza iletin.

Sırada ne var?

Google Haritalar veya Waze'i başlatmak için seyahat jetonunu kullanın.

Google Haritalar veya Waze'i başlatma