Google Assistant ใช้ Intent 3 รูปแบบที่แอปการนำทางของคุณรองรับ
คุณสามารถทำให้แอปทำงานร่วมกันได้และผสานรวมแอปกับ Google Assistant โดยประกาศตัวกรอง Intent ที่แสดงรายละเอียดในหน้านี้ในไฟล์ Manifest ของแอป
ดูข้อมูลเพิ่มเติมเกี่ยวกับ Intent ได้ที่
Intent
คลาส Intent ของแอปการนําทางด้วย Assistant รองรับ Intent ต่อไปนี้
- ความตั้งใจในการไปยังส่วนต่างๆ
 - จุดประสงค์ในการค้นหา
 - ความตั้งใจในการดําเนินการที่กำหนดเอง
 
รูปที่ 1 โฟลว์ข้อมูล Intent
พารามิเตอร์ในข้อมูล Intent
ข้อมูล Intent เป็นไปตามรูปแบบ URI ที่มีพารามิเตอร์ตาม Intent ที่คุณส่ง ระบบจะระบุพารามิเตอร์บางอย่างในข้อมูลเสมอ ซึ่งหมายความว่าคุณคาดหวังได้ว่าค่าเหล่านี้จะมีค่าที่ชัดเจนเสมอ อย่างไรก็ตาม พารามิเตอร์ที่ไม่บังคับอาจไม่ได้ตั้งค่าค่าในข้อมูลเสมอไป ดูข้อมูลเพิ่มเติมได้ที่การทดสอบข้อมูล
ความตั้งใจแบบออฟไลน์
Intent ทั้งหมดที่แสดงในหน้านี้มีตัวแปรแบบออฟไลน์
คุณสามารถแยกความแตกต่างได้โดยการเพิ่ม .offline ต่อท้ายรูปแบบ
เช่น Intent การนำทางใช้รูปแบบ geo.offline
ตัวกรอง Intent เหล่านี้ในไฟล์ Manifest บ่งบอกถึงความสามารถของแอปในการสนับสนุนการดำเนินการเหล่านี้แบบออฟไลน์
ความตั้งใจในการไปยังส่วนต่างๆ
ใช้ Intent การนำทางเพื่อตอบสนองคำขอของผู้ใช้ในการไปยังปลายทางที่เฉพาะเจาะจง ปลายทางนี้อาจเป็นสถานที่ตั้งเดียว (ที่อยู่) หรือหลายแห่งก็ได้ (เช่น ร้านกาแฟและปั๊มน้ำมัน) ข้อมูล Intent เป็นไปตามรูปแบบ URI ที่ระบุไว้สำหรับ Intent แต่ละรายการ
รูปแบบ Intent
คลาส Intent ใช้รูปแบบต่อไปนี้สำหรับ Intent ของแอปการนำทาง
หมวดหมู่: android.intent.category.DEFAULT
การดําเนินการ:
- Android Auto และ Android Automotive OS
androidx.car.app.action.NAVIGATE - รูปแบบของอุปกรณ์อื่นๆ
android.intent.action.NAVIGATE 
รูปแบบ: geo
ตัวอย่าง
geo:0,0?q=Googleplexgeo:0,0?q=1600+Amphitheatre+parkway&mode=b&intent=add_a_stopgeo:0,0?q=coffee+shop&mode=w&intent=navigationgeo:1.1,2.2?q=Starbucks+on+Main+Street&mode=w&intent=navigation
ลักษณะการทํางานของแอปที่แนะนํา: การนําทางไปยังตําแหน่งที่ตั้งที่ระบุจะเริ่มขึ้น หรือระบบจะขอให้ผู้ใช้เลือกจากหลายตัวเลือก
ตัวกรอง Intent ของไฟล์ Manifest
ประกาศรูปแบบ Intent ต่อไปนี้ในไฟล์ Manifest ของแอปเพื่อให้ Google Assistant ทราบว่าแอปการนำทางของคุณรับ Intent การนำทางได้
รูปแบบของอุปกรณ์ทั้งหมดยกเว้น Android Auto และ Android Automotive OS:
<intent-filter>
  <action android:name="android.intent.action.NAVIGATE" />
  <category android:name="android.intent.category.DEFAULT"/>
  <data android:scheme="geo" />
</intent-filter>
Android Auto และ Android Automotive OS:
<intent-filter>
  <action android:name="androidx.car.app.action.NAVIGATE" />
  <category android:name="android.intent.category.DEFAULT"/>
  <data android:scheme="geo" />
</intent-filter>
พารามิเตอร์ที่ระบุ
พารามิเตอร์ต่อไปนี้ควรมีอยู่ในข้อมูล Intent ของแอปการนำทางที่ระบุ
การค้นหาตำแหน่งหรือพิกัดทางภูมิศาสตร์
การค้นหาเกี่ยวกับความตั้งใจในการไปยังส่วนต่างๆ ทั้งหมดจะมีพารามิเตอร์ต่อไปนี้อย่างน้อย 1 รายการ หรือทั้ง 2 รายการ ทั้งนี้ขึ้นอยู่กับประเภทข้อมูลที่ขอ
การค้นหาตำแหน่ง
หมายถึงสถานที่ที่ผู้ใช้พยายามไปยัง ใช้ข้อมูลนี้เพื่อแก้ไขปลายทางของผู้ใช้
คีย์พารามิเตอร์:
q
ค่า: ปลายทางที่ผู้ใช้ค้นหาตัวอย่าง:
geo:0,0?q=Golden+Gate+Bridge
การตีความ: ผู้ใช้ต้องการไปยังสะพานโกลเดนเกตพิกัดทางภูมิศาสตร์ (ละติจูดและลองจิจูด)
หมายถึงพิกัดที่เฉพาะเจาะจงซึ่งผู้ใช้ใช้สำหรับการนำทาง
คีย์พารามิเตอร์:
geo:lat,long
ค่า: พิกัดที่ผู้ใช้ค้นหาตัวอย่าง:
geo:1.1,2.2?mode=w&intent=navigation
การตีความ: ผู้ใช้ต้องการไปยังพิกัด (1.1, 2.2)
พารามิเตอร์ที่ไม่บังคับ
พารามิเตอร์ที่ไม่บังคับซึ่งระบุไว้ในข้อมูล Intent สําหรับแอปการนําทางจะอธิบายไว้ในส่วนนี้
Intent
กําหนดความตั้งใจของผู้ใช้ หากไม่ได้ตั้งค่าพารามิเตอร์นี้ ระบบจะถือว่าความตั้งใจเริ่มต้นของผู้ใช้คือ navigation
คีย์พารามิเตอร์: intent
ค่าที่เป็นไปได้:
navigation[ค่าเริ่มต้น] - แทนที่ปลายทางและเริ่มการนําทาง ใช้คำสั่งนี้สำหรับการค้นหา เช่น ไปยัง xadd_a_stop- เพิ่มจุดแวะเป็นจุดหมายถัดไปพร้อมกับจุดหมายก่อนหน้า ใช้คำสั่งนี้สำหรับการค้นหา เช่น เพิ่มจุดแวะพักที่ xdirections- แสดงเส้นทางโดยไม่ต้องเริ่มการนำทาง ใช้รูปแบบนี้สำหรับคำค้นหาอย่างเส้นทางไปยัง x
ตัวอย่าง: geo:47.61594547836694,-122.20373173098756?q=575+Bellevue+Square,+Bellevue,+WA+98004&intent=add_a_stop
การตีความ: ผู้ใช้ต้องการเพิ่มป้ายจอดรถไปยัง Bellevue Square, Bellevue โดยมีพิกัดปัจจุบัน [47.6, -122.2]
หลีกเลี่ยง
กำหนดสิ่งที่ควรหลีกเลี่ยงในการนำทาง
คีย์พารามิเตอร์: avoid
ค่าที่เป็นไปได้:
f- เรือเฟอร์รีh- ทางหลวงt- ค่าผ่านทาง
ตัวอย่าง: geo:0,0?q=googleplex&avoid=tf
การตีความ: ผู้ใช้ต้องการไปยัง Googleplex โดยหลีกเลี่ยงการเรียกเก็บเงินค่าผ่านทางและเรือเฟอร์รี่
โหมดการเดินทาง
โหมดการเดินทางแสดงวิธีการขนส่งที่ผู้ใช้ระบุไว้ในคำค้นหา
คีย์พารามิเตอร์: mode
ค่าที่เป็นไปได้:
b- จักรยานd- ไดรฟ์x- taxil- ยานพาหนะ 2 ล้อr- ขนส่งสาธารณะw- เดิน
ตัวอย่าง: geo:0,0?q=Googleplex&mode=r
การตีความ: ผู้ใช้ต้องการไปยัง Googleplex โดยใช้ระบบขนส่งสาธารณะ
รายการ
ใช้สำหรับบันทึกแหล่งที่มาของรายการ
ค่าที่เป็นไปได้: assistant
เช่น geo:47.61594547836694,-122.20373173098756?entry=assistant
จุดประสงค์ในการค้นหา
ใช้ความตั้งใจในการค้นหาเพื่อค้นหาข้อความค้นหาและแสดงผลการค้นหาหลายรายการตลอดเส้นทางขณะขับรถ
รูปแบบ Intent
คลาส Intent ใช้รูปแบบต่อไปนี้สำหรับ Intent ในการค้นหา
หมวดหมู่: android.intent.category.DEFAULT
การดําเนินการ: android.intent.action.VIEW
รูปแบบ: geo
เช่น geo:0,0?q=restaurants+nearby
ลักษณะการทํางานของแอปที่แนะนํา: เปิดรายการสถานที่ที่ตรงกับคําค้นหาของผู้ใช้
ตัวกรอง Intent ของไฟล์ Manifest
ประกาศรูปแบบ Intent ต่อไปนี้ในไฟล์ Manifest ของแอปเพื่อให้ Google Assistant ทราบว่าแอปการนำทางของคุณรับ Intent ค้นหาได้
<intent-filter>
  <action android:name="android.intent.action.VIEW" />
  <category android:name="android.intent.category.DEFAULT"/>
  <data android:scheme="geo" />
</intent-filter>
พารามิเตอร์ที่ระบุ
พารามิเตอร์ต่อไปนี้ควรมีอยู่ในข้อมูลความตั้งใจค้นหาที่ระบุ
การค้นหาสถานที่
การค้นหาตำแหน่งคือตำแหน่งที่ผู้ใช้ค้นหาขณะขับรถ การค้นหานี้อาจไม่ถูกต้องหรืออยู่ตามเส้นทางการนำทางที่ใช้งานอยู่
คีย์พารามิเตอร์: q
ค่า: ข้อความค้นหาของผู้ใช้ ซึ่งอาจเป็นประเภทสถานที่ตั้ง เช่น ร้านกาแฟหรือวิทยาลัย แต่อาจมีตัวระบุปริมาณ เช่น -ใกล้ฉันหรือ-ที่มีคะแนนสูงสุด
ตัวอย่าง: geo:0,0?q=restaurants+nearby
การตีความ: ผู้ใช้ต้องการค้นหาร้านอาหารที่อยู่ใกล้เคียง
ความตั้งใจในการดําเนินการที่กำหนดเอง
ใช้ Intent ที่กําหนดเองสําหรับการดําเนินการที่กําหนดเอง เช่น การรายงานอุบัติเหตุและการสิ้นสุดการนําทาง ประเภทการดําเนินการหลักจะกําหนดโดยพารามิเตอร์การค้นหา act
คุณสามารถตั้งค่าพารามิเตอร์เพิ่มเติมโดยขึ้นอยู่กับประเภทการดําเนินการ
รูปแบบ Intent
คลาส Intent ใช้รูปแบบต่อไปนี้สำหรับความตั้งใจในการดําเนินการที่กำหนดเอง
หมวดหมู่: android.intent.category.DEFAULT
การดําเนินการ: android.intent.action.VIEW
รูปแบบ: geo.action
เช่น geo.action:?act=report&accident_type=major
ตัวกรอง Intent ของไฟล์ Manifest
ประกาศรูปแบบ Intent ต่อไปนี้ในไฟล์ Manifest ของแอปเพื่อแจ้งให้ Google Assistant ทราบว่าแอปการนำทางของคุณรับ Intent การดําเนินการที่กำหนดเองได้
<intent-filter>
  <action android:name="android.intent.action.VIEW" />
  <category android:name="android.intent.category.DEFAULT"/>
  <data android:scheme="geo.action" />
</intent-filter>
พารามิเตอร์ที่ระบุ
พารามิเตอร์ต่อไปนี้ควรมีอยู่ในข้อมูล Intent การดำเนินการที่กำหนดเองที่ระบุ
ประเภทการดําเนินการ
ซึ่งจะกําหนดประเภทการดําเนินการแบบกําหนดเองที่ผู้ใช้ต้องการดําเนินการ
คีย์พารามิเตอร์: act
ตัวอย่าง
geo.action:?act=report_crash&accident_type=major
การตีความ: ผู้ใช้ต้องการรายงานอุบัติเหตุร้ายแรงgeo.action:?act=mute
การตีความ: ผู้ใช้ต้องการปิดเสียงคําแนะนําด้วยเสียงgeo.action:?act=exit_navigation
การตีความ: ผู้ใช้ต้องการออกจากการนําทางปัจจุบัน
ลักษณะการทํางานของแอปที่แนะนํา: ดําเนินการตามคําขอในแอปการนําทาง หรือแสดงข้อความการดําเนินการที่ไม่รองรับ
รูปภาพต่อไปนี้แสดงตัวอย่างคู่คีย์-ค่าในคำค้นหาของคำตอบ
รูปที่ 2 ขั้นตอนการส่งข้อมูล Intent ของการดำเนินการที่กำหนดเอง
คู่คีย์-ค่า:
"act": "report_crash"
"road_direction": other_side"
การดําเนินการที่กำหนดเองทุกรายการจะมีพารามิเตอร์ act เป็นคีย์เสมอ ในโค้ดตัวอย่างข้างต้น การดําเนินการบางอย่างอาจมีคู่คีย์-ค่าเพิ่มเติม
ตัวอย่างเช่น act=report_crash รองรับคีย์เพิ่มเติมเหล่านี้ accident_type และ road_direction
คีย์ accident_type รองรับค่า 2 ค่า ได้แก่ minor และ major
ค่าที่เป็นไปได้
ตารางแสดงค่าที่เป็นไปได้ซึ่ง Google Assistant สามารถส่งเป็นการดำเนินการที่ผู้ใช้พยายามทำในแอปการนำทาง
| ค่า | คำอธิบาย | คีย์พารามิเตอร์ที่ไม่บังคับ | ค่าพารามิเตอร์ที่ไม่บังคับ | 
|---|---|---|---|
    allow_ferries
    | 
   เปลี่ยนค่ากำหนดเส้นทางเพื่ออนุญาตเรือเฟอร์รี่ | ||
    allow_highways
    | 
   เปลี่ยนค่ากำหนดเส้นทางเพื่ออนุญาตให้ใช้ทางหลวง | ||
    allow_tolls
    | 
   เปลี่ยนค่ากำหนดเส้นทางให้ใช้ทางด่วนได้ | ||
    apply_electric_vehicle_connector_filter
    | 
   แสดงเฉพาะสถานที่ชาร์จ EV ที่ตรงกับหัวชาร์จของรถ | ||
    apply_electric_vehicle_fast_charging_filter
    | 
   แสดงเฉพาะสถานที่ชาร์จ EV ที่ใช้ที่ชาร์จเร็ว | ||
    apply_electric_vehicle_payment_filter
    | 
   แสดงเฉพาะสถานที่ชาร์จ EV ที่ต้องชำระเงิน | ||
    avoid_ferries
    | 
   เปลี่ยนค่ากำหนดเส้นทางเพื่อหลีกเลี่ยงเรือเฟอร์รี่ | ||
    avoid_highways
    | 
   เปลี่ยนค่ากำหนดเส้นทางเพื่อหลีกเลี่ยงทางหลวง | ||
    avoid_tolls
    | 
   เปลี่ยนค่ากำหนดเส้นทางเพื่อหลีกเลี่ยงการจ่ายค่าผ่านทาง | ||
    clear_search_results
    | 
   ล้างผลการค้นหาบนแผนที่ | ||
    distance_to_destination
    | 
   แสดงระยะทางไปยังจุดหมาย | ||
    distance_to_next_turn
    | 
   แสดงระยะทางถึงจุดเลี้ยวถัดไป | ||
    eta
    | 
   แสดงเวลาถึงโดยประมาณไปยังจุดหมาย | ||
    exit_navigation
    | 
   ออกหรือยกเลิกการนำทาง | ||
    follow_mode
    | 
   เปลี่ยนมุมมองแผนที่เป็นโหมดติดตาม | ||
    go_back
    | 
   กลับไปที่การดำเนินการก่อนหน้าบนแผนที่ | ||
    hide_satellite
    | 
   เปลี่ยนการตั้งค่าแผนที่เพื่อซ่อนข้อมูลดาวเทียม | ||
    hide_traffic
    | 
   เปลี่ยนการตั้งค่าแผนที่เพื่อซ่อนข้อมูลการจราจร | ||
    mute
    | 
   ปิดการนำทางด้วยเสียง | ||
    query_current_road
    | 
   แสดงถนนที่ผู้ใช้กำลังขับอยู่ | ||
    query_destination
    | 
   แสดงปลายทาง | ||
    query_next_turn
    | 
   แสดงทางเลี้ยวถัดไป | ||
    remove_electric_vehicle_connector_filter
    | 
   นำการกรองสถานที่ชาร์จ EV ที่ตรงกับหัวชาร์จของรถออก | ||
    remove_electric_vehicle_fast_charging_filter
    | 
   นำการกรองสถานที่ชาร์จ EV ที่เป็นที่ชาร์จเร็วออก | ||
    remove_electric_vehicle_payment_filter
    | 
   นำการกรองสถานที่ชาร์จ EV ที่ต้องชำระเงินออก | ||
report_crash
    | 
   รายงานข้อขัดข้อง | accident_type
    | 
   minor
    | 
  
major
    | 
  |||
road_direction
    | 
   this_side
    | 
  ||
other_side
    | 
  |||
report_hazard
    | 
   รายงานอันตราย | hazard_type
    | 
   animal
    | 
  
broken_traffic_light
    | 
  |||
construction
    | 
  |||
flooding
    | 
  |||
fog
    | 
  |||
hail
    | 
  |||
ice
    | 
  |||
missing_sign
    | 
  |||
object_on_road
    | 
  |||
pothole
    | 
  |||
roadkill
    | 
  |||
snow
    | 
  |||
vehicle
    | 
  |||
weather
    | 
  |||
road_direction
    | 
   this_side
    | 
  ||
other_side
    | 
  |||
location_on_road
    | 
   on_road
    | 
  ||
on_shoulder
    | 
  |||
report_police
    | 
   รายงานกิจกรรมของตำรวจ | road_direction
    | 
   this_side
    | 
  
other_side
    | 
  |||
report_road_closure
    | 
   รายงานการปิดถนน | road_closure_type
    | 
   partial
    | 
  
full
    | 
  |||
report_traffic
    | 
   รายงานการจราจร | traffic_type
    | 
   moderate
    | 
  
heavy
    | 
  |||
standstill
    | 
  |||
road_direction
    | 
   this_side
    | 
  ||
other_side
    | 
  |||
    resume_navigation
    | 
   กลับมาที่การนำทาง | ||
    route_overview
    | 
   แสดงภาพรวมเส้นทาง | ||
    show_alternates
    | 
   แสดงเส้นทางอื่น | ||
    show_directions_list
    | 
   แสดงเส้นทางแบบเลี้ยวต่อเลี้ยว | ||
    show_satellite
    | 
   แสดงข้อมูลดาวเทียมบนแผนที่ | ||
    show_traffic
    | 
   แสดงการจราจรบนแผนที่ | ||
    time_to_destination
    | 
   แสดงเวลาถึงโดยประมาณไปยังจุดหมาย | ||
    time_to_next_turn
    | 
   แสดงเวลาถึงจุดเลี้ยวถัดไป | ||
    unmute
    | 
   เปิดการนำทางด้วยเสียง |