內建意圖 (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 追蹤運動」。
如果使用者的查詢中不包含下列參數,則下列程式碼片段將提供不含必要參數的執行要求:
<?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
的使用者查詢是「Order from Example Restaurant」,您就可以向使用者顯示名稱符合 "Example Restaurant"
字詞的餐廳清單。
語言和語言代碼支援
內建意圖參考資料列出每個應用程式動作 BII 支援的開發和測試語言代碼。部分 BII 針對開發人員測試和透過 Google 助理觸發的使用者提供不同的語言代碼支援。