內建意圖 (BII) 可讓您的應用程式向 Google 表達執行要求。透過在 shortcuts.xml 檔案中宣告功能,並將意圖參數對應至執行要求,您就能讓 Google 助理依據查詢啟動您的應用程式,讓使用者完成工作。
系統會根據應用程式類別分組內建意圖。每個類別代表一組使用者常在應用程式中執行的常見工作。如需可供測試的可用 BII、參數和參數查詢的完整清單,請參閱「內建意圖參考資料」。
許多 BII 都有特定的部署需求和建議。這些規定和建議有助於應用程式為使用者提供最佳體驗。
實作 BII 及處理意圖參數
對於應用程式動作,您可以在 shortcuts.xml 檔案中宣告功能及處理 BII 參數。如要實作 BII 及處理其參數,請按照下列步驟操作:
- 使用所選 BII 宣告
capability
。 - 針對您要新增的 BII 欄位新增巢狀
parameter
元素。- 如果您使用
targetClass
或targetPackage
,請使用您選擇的名稱將其對應至 Android 意圖extras
。 - 如果使用深層連結網址,請在網址範本的查詢字串中使用已命名的參數。
- 如果您使用
如要處理 BII 參數,請將 BII 參數對應至 capability
中明確 Android 意圖的對應參數。接著,您可以在應用程式中使用該值。應用程式不需要處理 BII 參數。然而,請務必嘗試處理內建意圖參考資料中標示為「推薦」的資料欄位。
您可以定義多個意圖執行要求,而每個意圖都有各自的建議參數組合。Google 會根據從使用者查詢識別的功能參數和在意圖中宣告的功能參數,選擇適當的執行要求。
舉例來說,actions.intent.START_EXERCISE
意圖會建議應用程式處理 exercise.name
BII 參數,但您可以在沒有參數的應用程式中實作 BII。如需在沒有特定運動名稱的情況下處理使用者查詢,例如「Ask Example App to start tracking exercise」。
如果使用者查詢中不包含參數,則以下程式碼片段會有執行要求的備用 (不含必要參數):
<?xml version="1.0" encoding="utf-8"?>
<shortcuts xmlns:android="http://schemas.android.com/apk/res/android">
<capability android:name="actions.intent.START_EXERCISE">
<intent
android:action="android.intent.action.VIEW"
android:targetClass="com.example.myapplication.Activity1"
android:targetPackage="com.example.myapplication">
<parameter
android:name="exercise.name"
android:key="exerciseType"
android:required="true"
/>
</intent>
<intent
android:action="android.intent.action.VIEW"
android:targetClass="com.example.myapplication.Activity2">
</intent>
</capability>
</shortcuts>
將參數值傳回至您的應用程式時,Google 助理會盡可能為使用者提供最相關的資訊。舉例來說,來自範例餐廳行動應用程式的披薩訂購使用者查詢不一定都會包含地點。為更貼近使用者,Google 助理可能會提供距離該應用程式最近的範例餐廳經緯度值。
根據額外規定,您不希望應用程式在未事先向使用者確認該動作的情況下,直接執行會修改使用者實際狀態的動作 (例如轉移金錢、下單或傳送訊息)。
消歧
透過 <url-parameter>
或意圖額外傳遞至應用程式的引數,可能無法明確識別您要向使用者顯示的項目。在這種情況下,您可以使用引數值做為搜尋引數,將使用者導向應用程式的搜尋頁面。這可以釐清和選擇正確的項目。
舉例來說,如果 BII ORDER_MENU_ITEM
的使用者查詢為「向範例餐廳訂餐」,您就可以向使用者顯示名稱符合字詞 "Example Restaurant"
的餐廳清單。
支援語言和語言代碼
內建意圖參考資料中列出每個應用程式動作 BII 支援的開發和測試地區。部分 BII 對開發人員測試和透過 Google 助理觸發的使用者提供不同的語言代碼支援。