Google 助理使用三種不同格式的意圖,您的導航應用程式可以支援這三種格式。您可以在應用程式的資訊清單中宣告本頁所述的意圖篩選器,藉此實現互通性並整合應用程式和 Google 助理。如要進一步瞭解意圖,請參閱 Intent
。
助理導覽應用程式 Intent
類別支援下列意圖:
- 導覽意圖
- 搜尋意圖
- 自訂動作意圖
圖 1. 意圖資料流程。
意圖資料中的參數
意圖資料遵循 URI 格式,其中包含根據您傳遞的意圖所含的參數。資料中一律會提供部分參數。也就是說,您可以預期這些值一律會具有明確的值。不過,選用參數不一定會在資料中設定值。詳情請參閱「資料測試」。
離線意圖
此頁面列出的所有意圖都有離線變化版本。您可以將 .offline
附加至其配置,以便區分這兩者。例如,導覽意圖會使用 geo.offline
配置。資訊清單中的這些意圖篩選器表示應用程式可在離線狀態下支援這些動作。
導覽意圖
使用導覽意圖,滿足使用者前往特定目的地的請求。這個目的地可以是單一地點 (地址) 或多個地點 (例如咖啡廳和加油站)。意圖資料會遵循為每個意圖指定的 URI 格式。
意圖格式
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
建議的應用程式行為:開始前往指定位置的導航,或要求使用者從多個選項中選擇。
資訊清單意圖篩選器
在應用程式的資訊清單檔案中宣告下列意圖格式,讓 Google 助理知道您的導航應用程式可以接收導航意圖。
所有板型規格 (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
[預設值] - 取代目的地並開始導航。適用於「前往 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。
項目
用於記錄輸入來源。
可能的值:assistant
範例: geo:47.61594547836694,-122.20373173098756?entry=assistant
搜尋意圖
使用搜尋意圖搜尋查詢,並在行駛期間顯示沿途的多個結果。
意圖格式
Intent
類別會使用以下格式搜尋意圖:
類別: android.intent.category.DEFAULT
動作: android.intent.action.VIEW
配置: geo
範例: geo:0,0?q=restaurants+nearby
建議的應用程式行為:開啟符合使用者查詢的場所清單。
資訊清單意圖篩選器
請在應用程式的資訊清單檔案中宣告下列意圖格式,讓 Google 助理知道您的導航應用程式可以接收搜尋意圖:
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT"/>
<data android:scheme="geo" />
</intent-filter>
提供的參數
下列參數應可在所提供的搜尋意圖資料中使用。
位置查詢
位置查詢是指使用者在行車時搜尋的位置。這項查詢可能不精確,或沿著有效的導航路線。
參數鍵: q
值:使用者的搜尋字詞,可以是位置類型,例如咖啡廳或大學,但也可以包含量詞,例如-near me或-with best rating。
示例: 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
資訊清單意圖篩選器
在應用程式的資訊清單檔案中宣告下列意圖格式,讓 Google 助理知道您的導航應用程式可以接收自訂動作意圖。
<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
。
可能的值
下表列出 Google 助理可傳遞的可能值,這些值是使用者嘗試在導航應用程式中執行的動作。
值 | 說明 | 選用參數鍵 | 選用參數值 |
---|---|---|---|
allow_ferries
|
變更路線偏好設定,允許搭乘渡輪。 | ||
allow_highways
|
變更路線偏好設定,允許使用高速公路。 | ||
allow_tolls
|
變更路線偏好設定,允許使用收費道路。 | ||
apply_electric_vehicle_connector_filter
|
只顯示與車輛連接器相符的電動車充電地點。 | ||
apply_electric_vehicle_fast_charging_filter
|
只顯示提供快速充電器的電動車充電地點。 | ||
apply_electric_vehicle_payment_filter
|
只顯示需要付費的電動車充電地點。 | ||
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
|
移除符合車輛連接器的電動車充電地點篩選條件。 | ||
remove_electric_vehicle_fast_charging_filter
|
移除快速充電器的電動車充電地點篩選條件。 | ||
remove_electric_vehicle_payment_filter
|
移除需要付費的電動車充電站位置篩選條件。 | ||
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
|
取消語音導引的靜音設定。 |