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=Googleplex
geo:0,0?q=1600+Amphitheatre+parkway&mode=b&intent=add_a_stop
geo:0,0?q=coffee+shop&mode=w&intent=navigation
geo: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
|
เปิดการนำทางด้วยเสียง |