Gemini משתמש בשלושה פורמטים שונים של כוונות שהאפליקציה לניווט יכולה לתמוך בהם.
כדי להשיג יכולת פעולה הדדית ולשלב את האפליקציה שלכם עם Gemini, אתם צריכים להצהיר על מסנני ה-Intent שמפורטים בדף הזה במניפסט של האפליקציה.
מידע נוסף על כוונות זמין במאמר בנושא Intent.
אפליקציית הניווט של Gemini, מחלקת Intent, תומכת בכוונות הבאות:
- כוונת ניווט
- כוונת החיפוש
- כוונת משתמש לפעולה בהתאמה אישית
איור 1. זרימת נתונים של כוונות.
פרמטרים בנתוני הכוונה
נתוני ה-Intent הם בפורמט URI שמכיל פרמטרים שמבוססים על ה-Intent שמעבירים. חלק מהפרמטרים תמיד מופיעים בנתונים. כלומר, תמיד יהיה להם ערך מפורש. לעומת זאת, לפרמטרים אופציונליים לא תמיד מוגדר ערך בנתונים. מידע נוסף מופיע במאמר בנושא בדיקת נתונים.
התעניינות במוצרים או בשירותים במצב אופליין
כל הכוונות שמופיעות בדף הזה זמינות גם במצב אופליין.
כדי להבדיל ביניהם, מוסיפים את המחרוזת .offline לסכימה שלהם.
לדוגמה, כוונת הניווט משתמשת בסכימה geo.offline.
מסנני ה-Intent האלה במניפסט מציינים את היכולת של האפליקציה לתמוך בפעולות האלה במצב אופליין.
כוונת ניווט
משתמשים בכוונת ניווט כדי למלא בקשה של משתמש לנווט ליעד ספציפי. היעד יכול להיות מיקום יחיד (כתובת) או כמה מיקומים (לדוגמה, בתי קפה ותחנות דלק). נתוני כוונת החיפוש הם בפורמט URI שמוגדר לכל כוונת חיפוש.
פורמט הכוונה
המחלקות 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 בקובץ המניפסט
צריך להצהיר על פורמט הכוונה הבא בקובץ המניפסט של האפליקציה כדי ש-Gemini ידע שאפליקציית הניווט יכולה לקבל כוונות ניווט.
כל גורמי הצורה חוץ מ-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>
פרמטרים שסופקו
הפרמטרים הבאים אמורים להיות זמינים בנתוני הכוונה של אפליקציית הניווט שסופקה.
שאילתת מיקום או קואורדינטות גיאוגרפיות
כל שאילתת כוונת ניווט מכילה אחד מהפרמטרים האלה או את שניהם, בהתאם לסוג הנתונים המבוקש:
שאילתת מיקום
המיקום שאליו המשתמש מנסה לנווט. משתמשים בנתונים האלה כדי לקבוע את היעד של המשתמש.
מפתח הפרמטר:
q
ערך: יעד השאילתה של המשתמש.דוגמה:
geo:0,0?q=Golden+Gate+Bridge
פירוש: המשתמש רוצה להגיע אל גשר שער הזהב.קואורדינטות גיאוגרפיות (קו רוחב וקו אורך)
מתייחס לקואורדינטות ספציפיות שהמשתמש משתמש בהן לניווט.
מפתח הפרמטר:
geo:lat,long
ערך: הקואורדינטות של המשתמש שמופיעות בשאילתה.דוגמה:
geo:1.1,2.2?mode=w&intent=navigation
פירוש: המשתמש רוצה לעבור לקואורדינטות (1.1, 2.2).
פרמטרים אופציונליים
בקטע הזה מוסבר על הפרמטרים האופציונליים שמועברים בנתוני הכוונה של אפליקציית הניווט.
כוונה
הגדרה של כוונת המשתמש. אם לא מגדירים את הפרמטר הזה, כוונת המשתמש שמוגדרת כברירת מחדל היא navigation.
מפתח הפרמטר: intent
ערכים אפשריים:
-
navigation[ערך ברירת מחדל] – מחליף את היעד ומתחיל את הניווט. אפשר להשתמש בזה לשאילתות כמו navigate to x. -
add_a_stop– מוסיף את העצירה כיעד הבא יחד עם היעדים הקודמים. אפשר להשתמש בזה לשאילתות כמו add a stop at x (הוספת עצירה ב-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– drive x– מונית-
l- רכב דו-גלגלי -
r– transit -
w– הליכה
דוגמה: geo:0,0?q=Googleplex&mode=r
פרשנות: המשתמש רוצה להגיע ל-Googleplex בתחבורה ציבורית.
הערך
משמש לרישום המקור של הכניסה.
ערכים אפשריים: assistant
דוגמה: geo:47.61594547836694,-122.20373173098756?entry=assistant
כוונת החיפוש
אתם יכולים להשתמש בכוונה לחיפוש כדי לחפש שאילתה ולהציג כמה תוצאות לאורך המסלול בזמן הנהיגה.
פורמט הכוונה
המחלקות Intent משתמשות בפורמט הבא לכוונות חיפוש:
קטגוריה: android.intent.category.DEFAULT
פעולה: android.intent.action.VIEW
סכמה: geo
דוגמה: geo:0,0?q=restaurants+nearby
התנהגות מומלצת של האפליקציה: פתיחת רשימה של מיקומים שתואמים לשאילתת המשתמש.
מסנני Intent בקובץ המניפסט
צריך להצהיר על פורמט הכוונה הבא בקובץ המניפסט של האפליקציה כדי ש-Gemini יידע שאפליקציית הניווט יכולה לקבל כוונות חיפוש:
<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 משתמש בפורמט הבא לכוונת פעולה בהתאמה אישית:
קטגוריה: android.intent.category.DEFAULT
פעולה: android.intent.action.VIEW
סכמה: geo.action
דוגמה: geo.action:?act=report&accident_type=major
מסנני Intent בקובץ המניפסט
מצהירים על פורמט הכוונה הבא בקובץ המניפסט של האפליקציה כדי ש-Gemini יידע שאפליקציית הניווט יכולה לקבל כוונות של פעולות בהתאמה אישית.
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT"/>
<data android:scheme="geo.action" />
</intent-filter>
פרמטרים שסופקו
הפרמטרים הבאים צריכים להיות זמינים בנתוני הכוונה של הפעולה המותאמת אישית שסופקו:
סוג הפעולה
הוא מגדיר את סוג הפעולה המותאמת אישית שהמשתמש רוצה לבצע.
מפתח הפרמטר: 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 יכול לתמוך בשני ערכים: 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
|
ביטול ההשתקה של ההנחיה הקולית. |
אחזור סטטוס הניווט
כדי לוודא ש-Gemini יוכל לספק למשתמש מידע מדויק בזמן אמת כשהוא ישאל על סטטוס הנסיעה, האפליקציה שלכם צריכה לספק מטא-נתונים של ניווט באמצעות שירות הרכב NavigationManager. הנחיות להטמעה מפורטות במאמר העברת מטא-נתונים של ניווט.