為捷徑新增功能

shortcuts.xml 中的功能可讓您宣告使用者可執行的動作類型 即可啟動應用程式並直接執行特定工作

例如,Google 助理應用程式動作會使用相關功能 將應用程式內功能延伸至內建意圖 (BII),讓使用者啟用 以及使用語音指令控制這些功能功能包含 動作名稱,以及針對應用程式中的目的地的 intent 解析使用者意圖

在 shortcuts.xml 中定義功能

請在 Android 應用程式開發專案的 shortcuts.xml 資源檔案中定義 capability 元素。如要定義 capability 元素,請執行 包括:

  1. 按照建立shortcuts.xml 靜態捷徑
  2. 請在功能中加入下列必要資訊:

    • 功能名稱:您希望應用程式支援的動作。詳情請參閱 元件說明文件中,針對需要的功能 定義。應用程式動作語音指令會使用 BII Action ID ,詳情請參閱 BII 參考資料。例如: GET_THING BII 會將其 Action ID 列為 actions.intent.GET_THING

    • 應用程式目的地:動作啟動在應用程式中的目的地 執行使用者要求請使用以巢狀結構包含在 capability 內的 intent 元素來定義應用程式目的地。

    • 參數對應:每個 intent 可能包含要 以意圖的 extra 資料的形式傳遞。例如,每個應用程式動作 BII 包含的欄位代表使用者在查詢中經常提供的資訊 觸發 BII

以下範例示範 shortcuts.xml 中的功能定義 適用於 actions.intent.START_EXERCISE。這個 BII 可讓使用者透過 下達指令,以便在健身應用程式中開始運動:

<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:targetPackage="com.example.sampleApp"
      android:targetClass="com.example.sampleApp.ExerciseActivity">
      <parameter
        android:name="exercise.name"
        android:key="exerciseType"/>
    </intent>
  </capability>
</shortcuts>

在上述範例中,<capability> android:name 屬性會參照 START_EXERCISE BII。如果使用者問 Google 助理「Ok Google,在 ExampleApp 中開始跑步」,從而叫用這個 BII,Google 助理就會使用巢狀 intent 元素中提供的資訊來執行使用者的要求。此範例中的 intent 定義了下列詳細資料:

  • android:targetPackage 會設定此意圖的目標應用程式套件。
  • android:targetClass 欄位會指定目的地活動:com.example.sampleApp.ExerciseActivity
  • 意圖 parameter 宣告支援 BII 參數 exercise.name 以及如何傳送參數值 (收集 而非使用者的資料—做為 intent 中的額外資料。

建立捷徑與功能的關聯

定義功能後,您可以將功能建立關聯,藉此擴充其功能 靜態或動態捷徑捷徑如何連結至 capability 取決於實作的功能和 使用者的要求。例如使用者開始跑步追蹤資料時 ,即可直接說出「Ok Google,在範例應用程式中開始跑步」。Google 助理 可以使用捷徑啟動 capability 的執行個體,其定義了有效的 「跑步」的運動實體exercise.name 參數的值。

如要進一步瞭解如何建立捷徑與應用程式動作的關聯,請參閱「應用程式動作」 動作總覽