ใช้ Intent ของแอปการนำทาง

Gemini ใช้รูปแบบ Intent 3 รูปแบบที่แตกต่างกันซึ่งแอปการนำทางของคุณรองรับได้ คุณสามารถทำให้แอปและ Gemini ทำงานร่วมกันและผสานรวมกันได้โดยประกาศตัวกรอง Intent ที่อธิบายไว้ในหน้านี้ในไฟล์ Manifest ของแอป ดูข้อมูลเพิ่มเติมเกี่ยวกับความตั้งใจได้ที่ Intent

แอปการนำทาง Gemini Intent คลาสรองรับ Intent ต่อไปนี้

  • จุดประสงค์ในการไปยังส่วนต่างๆ
  • จุดประสงค์ในการค้นหา
  • ความตั้งใจในการดำเนินการที่กำหนดเอง

โฟลว์ข้อมูลความตั้งใจ

รูปที่ 1 โฟลว์ข้อมูลความตั้งใจ

พารามิเตอร์ในข้อมูลความตั้งใจ

ข้อมูล Intent จะเป็นไปตามรูปแบบ URI ที่มีพารามิเตอร์ตาม Intent ที่คุณส่ง ระบบจะระบุพารามิเตอร์บางอย่างในข้อมูลเสมอ ซึ่งหมายความว่าคุณ คาดหวังได้ว่าคุกกี้เหล่านี้จะมีค่าที่ชัดเจนเสมอ อย่างไรก็ตาม พารามิเตอร์ที่ไม่บังคับอาจไม่มีการตั้งค่าในข้อมูลเสมอไป ดูข้อมูลเพิ่มเติมได้ที่ การทดสอบข้อมูล

ความตั้งใจแบบออฟไลน์

ความตั้งใจทั้งหมดที่แสดงในหน้านี้มีตัวแปรแบบออฟไลน์พร้อมให้บริการ คุณแยกความแตกต่างได้โดยการต่อท้าย .offline ในรูปแบบของ URL เช่น เจตนาการนำทางใช้รูปแบบ geo.offline ตัวกรอง Intent เหล่านี้ในไฟล์ Manifest แสดงถึงความสามารถของแอปในการรองรับ การดำเนินการเหล่านี้แบบออฟไลน์

ใช้เจตนาในการนำทางเพื่อตอบสนองคำขอของผู้ใช้ในการไปยัง จุดหมายที่เฉพาะเจาะจง ปลายทางนี้อาจเป็นสถานที่ตั้งเดียว (ที่อยู่) หรือหลายสถานที่ตั้ง (เช่น ร้านกาแฟและปั๊มน้ำมัน) ข้อมูลความตั้งใจเป็นไปตามรูปแบบ URI ที่ระบุสำหรับความตั้งใจแต่ละรายการ

รูปแบบ 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 ของแอปเพื่อให้ Gemini ทราบว่าแอปนำทางของคุณรับ 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 ของแอปนำทางที่ระบุ

คำค้นหาตำแหน่งหรือพิกัดทางภูมิศาสตร์

การค้นหาที่มีเจตนาในการนำทางทุกรายการจะมีพารามิเตอร์อย่างใดอย่างหนึ่งหรือทั้ง 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 ของแอปนำทางจะอธิบายไว้ ในส่วนนี้

ความตั้งใจ

กำหนดความตั้งใจของผู้ใช้ หากไม่ได้ตั้งค่าพารามิเตอร์นี้ ระบบจะถือว่าความตั้งใจของผู้ใช้เริ่มต้นเป็น navigation

คีย์พารามิเตอร์: intent
ค่าที่เป็นไปได้:

  • navigation [ค่าเริ่มต้น] - แทนที่ปลายทางและเริ่ม การนำทาง ใช้สำหรับคำค้นหา เช่น นำทางไปยัง x
  • add_a_stop - เพิ่มจุดแวะเป็นจุดหมายถัดไปพร้อมกับจุดหมายก่อนหน้า ใช้สำหรับคำค้นหา เช่น เพิ่มจุดแวะพักที่ x
  • directions - แสดงเส้นทางโดยไม่ต้องเริ่มการนำทาง ใช้สิ่งนี้ สำหรับคำค้นหา เช่น เส้นทางไป 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 - แท็กซี่
  • l - มอเตอร์ไซค์
  • r - ขนส่งสาธารณะ
  • w - เดิน

ตัวอย่าง: geo:0,0?q=Googleplex&mode=r
การตีความ: ผู้ใช้ต้องการไปยัง Googleplex โดยใช้ระบบขนส่งสาธารณะ

รายการ

ใช้สำหรับการบันทึกแหล่งที่มาของการเข้าชม

ค่าที่เป็นไปได้: ผู้ช่วย

ตัวอย่าง: geo:47.61594547836694,-122.20373173098756?entry=assistant

จุดประสงค์ในการค้นหา

ใช้จุดประสงค์ในการค้นหาเพื่อค้นหาคำค้นหาและแสดงผลการค้นหาหลายรายการไปพร้อมกับเส้นทางขณะขับรถ

รูปแบบ Intent

คลาส Intent ใช้รูปแบบต่อไปนี้สำหรับเจตนาในการค้นหา

หมวดหมู่: android.intent.category.DEFAULT

การดำเนินการ: android.intent.action.VIEW

รูปแบบ: geo

ตัวอย่าง: geo:0,0?q=restaurants+nearby

ลักษณะการทำงานของแอปที่แนะนำ: เปิดรายการสถานที่ที่ตรงกับคำค้นหาของผู้ใช้

ตัวกรอง Intent ของไฟล์ Manifest

ประกาศรูปแบบ Intent ต่อไปนี้ในไฟล์ Manifest ของแอปเพื่อให้ Gemini ทราบว่าแอปนำทางของคุณรับ 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
การตีความ: ผู้ใช้ต้องการค้นหาร้านอาหารที่อยู่ใกล้เคียง

ความตั้งใจในการดำเนินการที่กำหนดเอง

ใช้เจตนาที่กำหนดเองสำหรับการดำเนินการที่กำหนดเอง เช่น การรายงานอุบัติเหตุและการสิ้นสุด การนำทาง ประเภทการกระทําหลักกําหนดโดยพารามิเตอร์การค้นหา act คุณตั้งค่าพารามิเตอร์เพิ่มเติมได้โดยขึ้นอยู่กับประเภทการกระทํา

รูปแบบ Intent

คลาส Intent ใช้รูปแบบต่อไปนี้สำหรับ Intent การกระทำที่กำหนดเอง

หมวดหมู่: android.intent.category.DEFAULT

การดำเนินการ: android.intent.action.VIEW

รูปแบบ: geo.action

ตัวอย่าง: geo.action:?act=report&accident_type=major

ตัวกรอง Intent ของไฟล์ Manifest

ประกาศรูปแบบ Intent ต่อไปนี้ในไฟล์ Manifest ของแอปเพื่อให้ Gemini ทราบว่าแอปนำทางของคุณรับ 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 โฟลว์ข้อมูลความตั้งใจของการกระทำที่กำหนดเอง

คู่คีย์-ค่า:

"act": "report_crash"
"road_direction": other_side"

การกระทําที่กําหนดเองทุกรายการจะมีพารามิเตอร์ act เป็นคีย์เสมอ ในโค้ดตัวอย่างที่กล่าวถึงข้างต้น การกระทำบางอย่างอาจมีคู่คีย์-ค่าเพิ่มเติม เช่น act=report_crash รองรับคีย์เพิ่มเติมต่อไปนี้ accident_type และ road_direction

คีย์ accident_type รองรับค่า 2 ค่า ได้แก่ minor และ major

ค่าที่เป็นไปได้

ตารางแสดงค่าที่เป็นไปได้ซึ่ง Gemini สามารถส่งเป็นค่าการดำเนินการ ที่ผู้ใช้พยายามดำเนินการในแอปนำทาง

ค่านิยม คำอธิบาย คีย์พารามิเตอร์ที่ไม่บังคับ ค่าพารามิเตอร์ที่ไม่บังคับ
allow_ferries เปลี่ยนค่ากำหนดเส้นทางเพื่ออนุญาตเรือข้ามฟาก
allow_highways เปลี่ยนค่ากำหนดเส้นทางเพื่ออนุญาตให้ใช้ทางหลวง
allow_tolls เปลี่ยนค่ากำหนดเส้นทางเพื่ออนุญาตให้ใช้เส้นทางที่มีค่าผ่านทาง
avoid_ferries เปลี่ยนค่ากำหนดเส้นทางเพื่อหลีกเลี่ยงเรือข้ามฟาก
avoid_highways เปลี่ยนค่ากำหนดเส้นทางเพื่อหลีกเลี่ยงทางหลวง
avoid_tolls เปลี่ยนค่ากำหนดเส้นทางเพื่อหลีกเลี่ยงค่าผ่านทาง
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 แสดงว่าเลี้ยวถัดไปคือเลี้ยวไหน
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
route_overview แสดงภาพรวมเส้นทาง
show_alternates แสดงเส้นทางอื่น
show_directions_list แสดงวิธีการแบบเลี้ยวต่อเลี้ยว
show_satellite แสดงข้อมูลดาวเทียมบนแผนที่
show_traffic แสดงการจราจรบนแผนที่
time_to_destination แสดงเวลาถึงโดยประมาณไปยังจุดหมาย
time_to_next_turn แสดงเวลาถึงโดยประมาณไปยังจุดเลี้ยวถัดไป
unmute เปิดการนำทางด้วยเสียง

เรียกข้อมูลสถานะการนำทาง

แอปของคุณต้องระบุข้อมูลเมตาการนำทางโดยใช้บริการรถยนต์ NavigationManager เพื่อให้ Gemini สามารถให้ข้อมูลที่ถูกต้องและเป็นแบบเรียลไทม์แก่ผู้ใช้ เมื่อผู้ใช้ถามเกี่ยวกับสถานะการเดินทาง ดูคำแนะนำในการติดตั้งใช้งานได้ที่ สื่อสารข้อมูลเมตาการนำทาง