สร้างการเดินทางและรับโทเค็นการเดินทาง

หากต้องการเปิดตัวเซสชันการนำทางแบบเลี้ยวต่อเลี้ยวอย่างปลอดภัยสำหรับคนขับ แบ็กเอนด์ของคุณ ต้องสร้างการเดินทางและรับโทเค็นการเดินทางที่ได้รับการตรวจสอบสิทธิ์จาก Navigation Connect API

ใน Navigation Connect การเดินทางหมายถึงเซสชันการนำทางไปยังจุดหมายเดียว หากต้องการสร้างการเดินทางและรับโทเค็นการเดินทางที่ตรวจสอบสิทธิ์แล้ว (authToken) ซึ่งจำเป็นต่อการให้สิทธิ์เซสชัน ให้ส่งข้อความ CreateTripRequest ไปยังเมธอด CreateTrip ส่งโทเค็นการเดินทางไปยังแอปบนอุปกรณ์เคลื่อนที่เพื่อ รวมไว้ใน URL การเปิดตัวสำหรับ Google Maps หรือ Waze

คู่มือนี้อธิบายวิธีดำเนินการให้กระบวนการนี้เสร็จสมบูรณ์โดยการสร้างรหัสการเดินทางที่ไม่ซ้ำกัน และส่งคำขอ API

สร้างCreateTripRequestข้อความ

หากต้องการสร้างการเดินทางและรับโทเค็นการเดินทาง ให้ทำตามขั้นตอนต่อไปนี้เพื่อ สร้างและส่งข้อความ CreateTripRequest

  1. ตรวจสอบสิทธิ์: ใช้ข้อมูลรับรองเริ่มต้นของแอปพลิเคชัน (ADC) เพื่อรับโทเค็นเพื่อการเข้าถึงเพื่อให้สิทธิ์คำขอ ดูรายละเอียดเพิ่มเติมได้ที่ สร้างโทเค็น OAuth
  2. สร้างรหัสการเดินทาง: สร้างรหัสการเดินทางที่ไม่ซ้ำกัน (tripId) ในรูปแบบ UUIDv4 เพื่อระบุการเดินทางในเซิร์ฟเวอร์
  3. สร้างเพย์โหลด: สร้างเพย์โหลด 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

หากต้องการรับ Polyline ของเส้นทางที่ใช้งานอยู่และสภาพการจราจรแบบเรียลไทม์ ให้ตั้งค่า config.enableRemainingRouteReporting เป็น true

การรายงานการเบี่ยงเบนเส้นทาง (Waze เท่านั้น) boolean

หากต้องการติดตามเมื่อคนขับออกนอกเส้นทาง ให้ตั้งค่า config.enableRouteDeviationReporting เป็น true

ความถี่ในการอัปเดตการเดินทาง boolean

โดยค่าเริ่มต้น Navigation Connect จะอัปเดตข้อมูลการเดินทางทุกๆ 60 วินาที หากต้องการเปิดใช้การอัปเดตความถี่สูง (ทุก 5 วินาที) ให้ตั้งค่า config.enableHighFrequencyUpdates เป็น true

การสร้างเหตุการณ์ Google Cloud Pub/Sub boolean

หากต้องการเปิดใช้การสร้างเหตุการณ์การเดินทางโดยใช้ Google Cloud Pub/Sub ให้ตั้งค่า config.enablePubsub เป็น true ฟีเจอร์นี้ปิดใช้อยู่โดยค่าเริ่มต้น

มาสก์ฟิลด์ 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: ตัวระบุที่เป็นตัวเลขที่ไม่ซ้ำกันสำหรับโปรเจ็กต์ ซึ่งแตกต่างจากรหัสโปรเจ็กต์ที่เป็นตัวอักษรและตัวเลข แต่แสดงถึงโปรเจ็กต์ Google Cloud เดียวกัน
  • TRIP_ID: รหัสการเดินทางที่แบ็กเอนด์สร้างขึ้นในรูปแบบ UUIDv4
  • BASE64_ENCODED_TRIP_TOKEN: โทเค็นการเดินทางที่ตรวจสอบสิทธิ์แล้ว (authToken.token) ซึ่งเมธอด CreateTrip ส่งคืน ส่งโทเค็นนี้ไปยัง แอปบนอุปกรณ์เคลื่อนที่เพื่อเริ่มการนำทางแบบเลี้ยวต่อเลี้ยวที่ติดตามใน Google Maps หรือ Waze
การเดินทาง คุณต้องขอโทเค็นใหม่

ขั้นตอนถัดไป

ใช้โทเค็นการเดินทางเพื่อเปิด Google Maps หรือ Waze

เปิด Google Maps หรือ Waze