shortcuts.xml
中的功能可讓您宣告使用者可在啟動應用程式及直接執行特定工作時可執行的動作類型。
舉例來說,Google 助理應用程式動作會使用相關功能,讓開發人員將應用程式內功能延伸至內建意圖 (BII),讓使用者能夠使用口語指令來啟用及控制這些應用程式內功能。程式碼的功能包含動作名稱和 intent
,後者指向應用程式中能夠解決使用者意圖的目的地。
在 shortcuts.xml 中定義功能
請在 Android 應用程式開發專案的 shortcuts.xml
資源檔案中定義 capability
元素。如要定義 capability
元素,請按照下列指示操作:
- 按照「建立靜態捷徑」中的操作說明建立
shortcuts.xml
資源。 請在功能中加入下列必要資訊:
功能名稱:您希望應用程式支援的動作。如要瞭解需要程式碼功能定義的功能,請參閱元件說明文件。應用程式動作的語音指令使用 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 可讓使用者透過 Google 助理使用語音指令,開始健身應用程式中的健身:
<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
的方式取決於實作的功能,以及使用者要求中包含的實際字詞。舉例來說,如果使用者在健身追蹤應用程式中開始跑步,並詢問 Google 助理「Ok Google,在 ExampleApp 中開始跑步」Google 助理可使用捷徑啟動 capability
的執行個體,為 exercise.name
參數定義有效的運動實體「跑步」。
如要進一步瞭解如何建立捷徑與應用程式動作的關聯,請參閱「應用程式動作總覽」。