หากต้องการเปิดเซสชันการนำทางแบบเลี้ยวต่อเลี้ยวอย่างปลอดภัยสำหรับคนขับ แบ็กเอนด์ของคุณต้องสร้างการเดินทางและรับโทเค็นการเดินทางที่ตรวจสอบสิทธิ์แล้วจาก Navigation Connect API
ใน Navigation Connect การเดินทางหมายถึงเซสชันการนำทางไปยังปลายทางเดียว หากต้องการสร้างการเดินทางและรับโทเค็นการเดินทางที่ตรวจสอบสิทธิ์แล้ว
(authToken) ซึ่งจำเป็นต่อการให้สิทธิ์เซสชัน ให้ส่งCreateTripRequest
ข้อความไปยังเมธอดCreateTrip ส่งโทเค็นการเดินทางไปยังแอปบนอุปกรณ์เคลื่อนที่เพื่อรวมไว้ใน URL ที่เปิดใช้สำหรับ Google Maps หรือ Waze
คู่มือนี้อธิบายวิธีดำเนินการตามกระบวนการนี้ให้เสร็จสมบูรณ์โดยการสร้างรหัสการเดินทางที่ไม่ซ้ำกันและส่งคำขอ API
สร้างข้อความ CreateTripRequest
หากต้องการสร้างการเดินทางและรับโทเค็นการเดินทาง ให้ทำตามขั้นตอนต่อไปนี้เพื่อสร้างและส่งข้อความ CreateTripRequest
- ตรวจสอบสิทธิ์: ใช้ ข้อมูลรับรองเริ่มต้นของแอปพลิเคชัน (ADC) เพื่อรับโทเค็นเพื่อการเข้าถึงสำหรับให้สิทธิ์คำขอ ดูรายละเอียดเพิ่มเติมได้ที่ สร้างโทเค็น OAuth
- สร้างรหัสการเดินทาง: สร้างรหัสการเดินทางที่ไม่ซ้ำกัน (
tripId) ใน UUIDv4 เพื่อระบุการเดินทางในเซิร์ฟเวอร์ - สร้างเพย์โหลด: สร้างเพย์โหลด JSON ที่มีรหัสแอป และการตั้งค่าการกำหนดค่า
- เรียกใช้เมธอด
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 |
หากต้องการรับเส้นทางโพลีไลน์ที่ใช้งานอยู่และสภาพการจราจรแบบเรียลไทม์ ให้ตั้งค่า |
| ความถี่ในการอัปเดตการเดินทาง | boolean |
โดยค่าเริ่มต้น Navigation Connect จะอัปเดตข้อมูลการเดินทางทุกๆ 60 วินาที หากต้องการเปิดใช้การอัปเดตความถี่สูง (ทุกๆ 5 วินาที) ให้ตั้งค่า |
| การสร้างเหตุการณ์ Google Cloud Pub/Sub | boolean |
หากต้องการเปิดใช้การสร้างเหตุการณ์การเดินทางโดยใช้ Google Cloud Pub/Sub ให้ตั้งค่า |
| มาสก์ฟิลด์ Google Cloud Pub/Sub | FieldMask |
หากต้องการจัดการขนาดเพย์โหลดและลดภาระการประมวลผลแบ็กเอนด์หรือค่าใช้จ่ายในการใช้งาน Google Cloud Pub/Sub ให้ใช้ |
รับโทเค็นการเดินทางจากการตอบกลับ
เมธอด 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