建構應用程式動作

應用程式動作可讓使用者藉由詢問 使用 Google 助理或 Google 助理建議的 Android 快速鍵。這些 是利用應用程式動作擴充 Android 應用程式的主要步驟:

  1. 辨別要觸發的應用程式內功能及其比對功能 內建意圖 (BII)
  2. 提供 BII 的執行要求詳細資料。
  3. 將應用程式動作的快速指令推送至 Google 助理。
  4. 使用測試裝置預覽應用程式動作。
  5. 建立應用程式的測試版。
  6. 要求審查和部署應用程式動作。

你也可以視需要定義動態捷徑,以便提供給 Google 助理 建議使用者查看這些字詞如要使用範例應用程式建立應用程式動作,請按照下列步驟操作: 請按照「應用程式動作程式碼研究室」的指示操作。

需求條件

在開發應用程式動作前,請確保您和自家應用程式符合 符合以下條件:

  • 您的 Google 帳戶必須具有 Google Play 管理中心
  • 您的應用程式必須發布至 Google Play 商店,因為 僅適用於在該處發布的應用程式。另外,請確認您的應用程式 不適用於工作資料夾,因為系統不支援應用程式動作 。
  • 您必須使用實體或虛擬裝置,才能測試應用程式動作。
  • 您需要最新版的 Android Studio
  • 必須使用同一個 Google 帳戶登入 Android Studio、測試裝置上的 Google 應用程式和 Google Play 管理中心。
  • 您必須在測試裝置上設定 Google 助理,然後執行 觸控和按住主畫面按鈕。

比對內建意圖與應用程式功能

在 Android 應用程式中找出使用者可能想要的功能 跳到語音要求,查看 內建意圖參考資料,找出適當的 BII 符合用途的工作模式BII 會根據使用者想執行的工作建立模型 所以,請找出符合主要功能和使用者需求的 BII 處理應用程式中的流程

其實幾乎所有 Android 應用程式都能使用常見的 BII,例如 你可以透過 actions.intent.GET_THING 在應用程式內搜尋 Google 助理 BII 或讓使用者透過語音啟動特定應用程式功能 實作 actions.intent.OPEN_APP_FEATURE BII。

也有可用於「產業」或特定類別用途的 BII。適用對象 舉例來說,訂餐應用程式可能會使用 actions.intent.ORDER_MENU_ITEM BII。

為確保使用者獲得良好的體驗,並避免可能延遲核准作業,請進行以下動作: 確認實作的每個 BII 都與應用程式內功能相關。

應用程式動作的運作方式是從 Google 助理應用程式啟動 Android 意圖,以執行以下動作 讓使用者直接瀏覽應用程式中的特定內容。您可以將意圖定義為 請指定 targetClass明確啟動活動 targetPackage 欄位。如果您的應用程式已導入 Android 深層連結 則可選擇將意圖設為針對以下項目使用深層連結: 執行要求詳情請參閱深入測試活動 連結

提供內建意圖的執行要求詳細資料

建構應用程式動作時,大部分的作業是在 您 Android 應用程式的 shortcuts.xml 資源檔案 指定您選取的 BII 及對應的執行要求。BII 建立 使用者查詢工作,而執行要求意圖可為 Google 助理提供 說明如何執行工作

shortcuts.xml 檔案中,BII 表示為 <capability> 元素,而每項執行要求則以 <intent> 元素表示:

<shortcuts>
    <capability android:name="actions.intent.ORDER_MENU_ITEM">
        <intent
            android:action="android.intent.action.VIEW"
            android:targetPackage="com.example.app"
            android:targetClass="com.example.app.browse">
            <parameter
                android:name="menuItem.name"
                android:key="query">
            </parameter>
        </intent>
    </capability>

多數的 BII 都會依據 schema.org 實體,從使用者查詢中擷取意圖參數。然後應用程式就會使用這些 BII 參數,將使用者導向所選功能。舉例來說, 之前 程式碼會將 menuItem.name BII 參數對應至 query Android intent 參數。

如果您要透過深層連結執行動作,請使用 urlTemplate 欄位 來定義 Google 助理產生的深層連結網址:

<shortcuts>
    <capability android:name="actions.intent.ORDER_MENU_ITEM">
        <intent android:action="android.intent.action.VIEW">
            <url-template android:value="myfoodapp://browse{?query}" />
            <parameter android:name="menuItem.name"
                android:key="query"
                android:mimeType="text/*">
            </parameter>
        </intent>
    </capability>
</shortcuts>

如需在 shortcuts.xml 檔案中新增應用程式動作的重要詳細資料, 請參閱建立 shortcuts.xml。該網頁也 說明如何指定應用程式預期的參數值。

實作 GET_THING 內建意圖

如果應用程式具有搜尋功能,則必須實作 actions.intent.GET_THING該函式的 BII。Google 助理就會轉寄 使用者查詢時,透過應用程式的搜尋功能查詢應用程式內的搜尋結果 例如「Ok Google,在範例應用程式中搜尋範例觀光景點」

shortcuts.xml 檔案中,為以下項目實作 <capability>actions.intent.GET_THING BII 實作任何其他 BII。您可以在 GET_THING,前提是您至少提供一項會讓使用者的執行要求 傳送給應用程式的搜尋功能

以下範例說明如何將 actions.intent.GET_THING BII shortcuts.xml:

  <capability android:name="actions.intent.GET_THING">
    <intent
      android:targetPackage="com.example.myapp"
      android:targetClass="com.example.myapp.MySearchActivity">
      <parameter android:name="thing.name" android:key="query" />
    </intent>
  </capability>

在搜尋「Activity」中,從外部 intent,並傳遞至應用程式的搜尋功能。在上述程式碼中, 搜尋查詢以 query 鍵傳遞,會對應至 "thing.name" BII 參數。然後使用查詢執行搜尋,並在 存取 API

選用:將應用程式動作的快速指令推送至 Google 助理

在您定義動作的功能後,使用者就可以在 例如說出「Ok Google,使用範例應用程式點一份披薩」。 Google 助理可以向相關使用者建議 Android 快速指令,方便你執行各項操作 時間,讓他們發現並重播你的動作。Google 助理 動態和靜態捷徑都能建議使用。

如要將動態捷徑推送至 Google 助理,請使用 Google 捷徑整合功能 資源庫。這個 Jetpack 程式庫可讓 Google 助理採用捷徑和 並在適當時機向使用者建議他們。

詳請請參閱「推送動態捷徑至 Google 助理」。

預覽應用程式動作

在開發與測試期間,請使用 Android Studio 專用的 Google 助理外掛程式,用於測試 應用程式動作適用於您的應用程式。這個外掛程式會建立應用程式動作預覽畫面 。這個測試工具可以測試 透過提供輸入內容的 BII,在實體測試裝置或模擬器上執行執行要求 您預期會從使用者收到的參數

預覽應用程式動作時,您可以在 裝置。這項功能僅適用於應用程式動作 BII 參考資料中列出的查詢內容。使用語音 觸發條件只會用於示範,不適用於一般測試。

使用 Google Play 的開發人員工具,在草稿模式中測試應用程式 將應用程式送審。 進一步瞭解如何使用 Google Play 管理中心部署草稿 請參閱準備並推出 版本

建立測試版本

如果您已準備好邀請其他測試人員測試應用程式動作, 為您的應用程式建立內部或封閉測試版本。 根據預設,內部和 封閉式測試版測試人員可以存取已可使用的應用程式動作 審查並獲得核准

如要授予所有應用程式動作 (包括未經核准的動作) 的測試權限, 請指示測試人員加入 應用程式動作開發計畫 Google 網路論壇。這個群組的成員 這個群組可存取所有應用程式動作,而且一律可存取 內部測試版,不必使用 應用程式動作測試工具。加入群組後,最多可能需要 3 小時才能完成 才能使用存取權

要求審查和部署應用程式動作

已發布應用程式或公開測試的使用者無法執行應用程式動作 直到通過審查並獲得核准為止。應用程式動作審查不會 會影響您在 Google Play 的 Android 應用程式審查及部署狀態。即使 您提交的應用程式已通過核准並發布至 Play 商店 「shortcuts.xml」可能正在接受 Google 審查。應用程式動作不適用於 使用者,直到評論也獲得核准為止

您部署應用程式時,應用程式動作依然會持續有效。不過 Google 會審查重新部署的版本。如果新版本 無法正常運作或含有違反政策的內容,Google 保留以下權利: 停用應用程式的應用程式動作。

如果想提交應用程式動作進行審查,請進行下列事項:

  1. 接受 Google Play 管理中心的《應用程式動作服務條款》 (「進階設定」>「應用程式動作」):

    Google Play 管理中心的應用程式動作服務條款。

  2. 將應用程式包含 shortcuts.xml 的應用程式上傳至 Google Play 管理中心照常發布內容。

  3. 將應用程式上傳至 Play 管理中心後,Google 會透過以下服務與您聯絡: 電子郵件中的說明,進一步瞭解申訴狀態 您的應用程式 操作審查。您也可以聯絡 Google 助理開發人員支援團隊 與我們聯絡。聯絡人 表單,並提供應用程式套件 ID,然後在 您需要哪方面的協助?

,瞭解如何調查及移除這項存取權。

如要使用深層連結來透過應用程式動作啟動 Activity,請Activity 必須使用深層連結網址進行設定,且在以下位置設有對應的意圖篩選器: Android 應用程式資訊清單。

如要測試使用者能不能存取及觸發活動,請使用 使用深層連結的應用程式動作,請執行以下 adb 指令:

$ adb shell am start -a android.intent.action.VIEW -d "AppLinksURL"

例如:

$ adb shell am start -a android.intent.action.VIEW -d "https://www.example.com/deeplink"

如果活動並未正確以 adb 指令啟動,請檢查以下項目:

  • 在應用程式資訊清單檔案中,活動有 android:exported=true,因此 啟動 Google 助理意圖
  • 如果您使用應用程式連結網址,請按照「處理 Android 應用程式連結」說明的步驟操作。

應用程式動作政策

應用程式動作必須遵守特定政策,確保能 觸發符合預期的體驗請先詳閱這些政策 提交應用程式以提供最佳使用者體驗,同時避免 Google Play 商店評論延遲或遭拒。

  • 將使用者導向至使用者預期的內容

    應用程式動作的內建意圖 (BII) 和/或參數只能將使用者導向 鼓勵使用者採取相關的動作內容涵蓋應用程式內容 或 Slice 或小工具中顯示的資訊, 打造個人專屬體驗

    例如,實作 ORDER_MENU_ITEM BII 可協助使用者 開始指定指定選單項目或料理類型。只有 這項政策的例外狀況,是指您的 OPEN_APP_FEATURE BII 將使用者引導至 應用程式主畫面。

  • 將使用者導向相關的網頁內容

    如果系統將使用者重新導向至網頁內容,該網站必須與 使用者所預期的動作,且為品牌擁有。

    舉例來說,將觸發事件的使用者重新導向 您的 GET_RESERVATION BII 到 google.com/travel,但不屬於 您的應用程式品牌「exampledomain.com」違反了政策規定。另一個範例 發生違規事件時,系統會將觸發您的 GET_CALL_HISTORY BII 的使用者重新導向 exampledomain.com/payment,並要求他們購買。

  • 實作相關的應用程式動作 BII

    實作的 BII 必須與應用程式內容直接相關, 功能。

    舉例來說,如果您的應用程式屬於「通訊端 Play 商店」類別, 請勿實作 ORDER_MENU_ITEM BII, 。

  • 導入相關的自訂意圖

    自訂意圖的定義查詢與應用程式內容相關 功能。可能違反這項政策的例子 政策建立意圖 custom.action.intent.GET_RECIPE,並使用 相關聯的查詢模式「顯示墨西哥捲餅食譜」某個應用程式 交通運輸 Play 商店類別。