Seyahat oluşturma ve seyahat jetonu alma

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

Navigation Connect'te bir gezi, tek bir hedefe yönelik bir navigasyon oturumunu temsil eder. Bir 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. Google Haritalar veya Waze'in başlatma URL'sine dahil etmek için seyahat jetonunu mobil uygulamanıza iletin.

Bu kılavuzda, benzersiz bir gezi kimliği oluşturup 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: Sunucunuzdaki 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 ve gövdede yük ile 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

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

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

Etkin rota çoklu çizgisini ve anlık trafik koşullarını almak için config.enableRemainingRouteReporting değerini true olarak ayarlayın.

Rota sapması raporlama (yalnızca Waze) boolean

Sürücünün rota dışına çıktığı zamanı takip etmek için config.enableRouteDeviationReporting ayarını true olarak belirleyin.

Gezi güncelleme sıklığı boolean

Navigation Connect, varsayılan olarak 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 örnek bir 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: Projeniz için benzersiz bir sayısal tanımlayıcı. Bu numara, 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ış seyahat jetonu (authToken.token). Google Haritalar veya Waze'de izlenen adım adım navigasyonu başlatmak için bu jetonu mobil uygulamanıza iletin.

Sırada ne var?

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

Google Haritalar veya Waze'i başlatma