應用程式動作的內建意圖

內建意圖 (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 追蹤運動」。

如果使用者的查詢中不包含下列參數,則下列程式碼片段將提供不含必要參數的執行要求:

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