Membuat perjalanan dan mendapatkan token perjalanan

Untuk meluncurkan sesi navigasi belokan demi belokan secara aman bagi pengemudi, backend Anda harus membuat perjalanan dan mendapatkan token perjalanan yang diautentikasi dari Navigation Connect API.

Di Navigation Connect, perjalanan merepresentasikan sesi navigasi ke satu tujuan. Untuk membuat perjalanan dan mendapatkan token perjalanan yang diautentikasi (authToken) yang diperlukan untuk mengizinkan sesi, kirim pesan CreateTripRequest ke metode CreateTrip. Teruskan token perjalanan ke aplikasi seluler Anda untuk disertakan dalam URL peluncuran Google Maps atau Waze.

Panduan ini menjelaskan cara menyelesaikan proses ini dengan membuat ID perjalanan unik dan mengirimkan permintaan API Anda.

Menyusun pesan CreateTripRequest

Untuk membuat perjalanan dan mendapatkan token perjalanan, lakukan langkah-langkah berikut untuk membuat dan mengirim pesan CreateTripRequest:

  1. Lakukan autentikasi: Gunakan Kredensial Default Aplikasi (ADC) untuk mendapatkan token akses guna mengizinkan permintaan Anda. Untuk mengetahui detail selengkapnya, lihat Membuat token OAuth.
  2. Buat ID perjalanan: Buat ID perjalanan unik (tripId) dalam format UUIDv4 untuk mengidentifikasi perjalanan di server Anda.
  3. Buat payload: Buat payload JSON yang menyertakan ID aplikasi dan setelan konfigurasi Anda.
  4. Panggil metode CreateTrip: Kirim permintaan POST ke API dengan token akses di header dan payload di isi.

Contoh berikut menunjukkan cara membuat perjalanan dengan mengirim pesan 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}"

Konfigurasi opsional

Anda dapat menyesuaikan data perjalanan dengan menyesuaikan setelan berikut dalam pesan CreateTripRequest:

Fitur Jenis Deskripsi
Pelaporan rute yang tersisa (khusus Waze) boolean

Untuk menerima polyline rute aktif dan kondisi lalu lintas real-time, tetapkan config.enableRemainingRouteReporting ke true.

Frekuensi update perjalanan boolean

Secara default, Navigation Connect memperbarui data perjalanan setiap 60 detik. Untuk mengaktifkan pembaruan frekuensi tinggi (setiap 5 detik), tetapkan config.enableHighFrequencyUpdates ke true.

Pembuatan peristiwa Google Cloud Pub/Sub boolean

Untuk mengaktifkan pembuatan peristiwa perjalanan menggunakan Google Cloud Pub/Sub, tetapkan config.enablePubsub ke true. Fitur ini dinonaktifkan secara default.

Masker kolom Google Cloud Pub/Sub FieldMask

Untuk mengelola ukuran payload dan mengurangi beban pemrosesan backend atau biaya penggunaan Google Cloud Pub/Sub, gunakan config.pubsubFieldMask untuk mengecualikan kolom yang berat (seperti execution.remainingRoute) dari aliran peristiwa Anda. Untuk mengetahui informasi selengkapnya tentang ukuran payload untuk data rute yang tersisa, lihat Menangani data rute yang tersisa.

Dapatkan token perjalanan dari respons

Metode CreateTrip menampilkan respons yang berisi token perjalanan yang diautentikasi. Untuk mengizinkan sesi navigasi, ekstrak token ini dari respons dan teruskan ke aplikasi seluler Anda untuk disertakan dalam URL peluncuran.

Contoh kode berikut menunjukkan contoh respons:

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

Respons ini mencakup nilai berikut:

  • PROJECT_NUMBER: ID numerik unik untuk project Anda. Project Number ini berbeda dengan Project ID alfanumerik Anda, tetapi mewakili project Google Cloud yang sama.
  • TRIP_ID: ID perjalanan yang dibuat oleh backend Anda dalam format UUIDv4.
  • BASE64_ENCODED_TRIP_TOKEN: Token perjalanan yang diautentikasi (authToken.token) yang ditampilkan oleh metode CreateTrip. Teruskan token ini ke aplikasi seluler Anda untuk memulai navigasi belokan demi belokan yang dilacak di Google Maps atau Waze.

Langkah berikutnya

Gunakan token perjalanan untuk meluncurkan Google Maps atau Waze.

Luncurkan Google Maps atau Waze