應用程式動作的內建意圖

內建意圖 (BII) 可讓您的應用程式向 Google 表達執行要求。透過在 shortcuts.xml 檔案中宣告功能,並將意圖參數對應至執行要求,您就能讓 Google 助理依據查詢啟動您的應用程式,讓使用者完成工作。

系統會根據應用程式類別分組內建意圖。每個類別代表一組使用者常在應用程式中執行的常見工作。如需可供測試的可用 BII、參數和參數查詢的完整清單,請參閱「內建意圖參考資料」。

許多 BII 都有特定的部署需求和建議。這些規定和建議有助於應用程式為使用者提供最佳體驗。

圖 1.透過對 Google 助理的語音查詢功能叫用 START_EXERCISE BII。
圖 2. 啟動應用程式至特定畫面以開始 START_EXERCISE 工作。
圖 3 顯示小工具以回應查詢。

實作 BII 及處理意圖參數

對於應用程式動作,您可以在 shortcuts.xml 檔案中宣告功能及處理 BII 參數。如要實作 BII 及處理其參數,請按照下列步驟操作:

  1. 使用所選 BII 宣告 capability
  2. 針對您要新增的 BII 欄位新增巢狀 parameter 元素。
    1. 如果您使用 targetClasstargetPackage,請使用您選擇的名稱將其對應至 Android 意圖 extras
    2. 如果使用深層連結網址,請在網址範本的查詢字串中使用已命名的參數。

如要處理 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 助理觸發的使用者提供不同的語言代碼支援。