shortcuts.xml
の機能を使用すると、アプリを起動して特定のタスクを直接実行するためにユーザーが実行できるアクションのタイプを宣言できます。
たとえば、Google アシスタント App Actions は、デベロッパーがアプリ内機能を組み込みインテント(BII)に拡張できるようにする機能を使用して、ユーザーが音声コマンドを使用してこれらの機能を有効化および制御できるようにします。ケーパビリティは、アクションの名前と、ユーザー インテントを解決するアプリ内のデスティネーションをターゲットとする intent
で構成されます。
shortcuts.xml にケーパビリティを定義する
Android アプリ開発プロジェクトの shortcuts.xml
リソース ファイルに capability
要素を定義します。capability
要素を定義する手順は次のとおりです。
- 静的ショートカットを作成するの手順に沿って、
shortcuts.xml
リソースを作成します。 ケーパビリティには、次の必要な情報を含めます。
機能名: アプリでサポートするアクション。機能の定義を必要とする機能については、コンポーネントのドキュメントをご覧ください。App Actions の音声操作コマンドでは、ケーパビリティ名に BII
Action ID
を使用します。これは、BII リファレンスで確認できます。たとえば、BII「GET_THING
」はAction ID
をactions.intent.GET_THING
としてリストしています。アプリのデスティネーション: ユーザー リクエストを処理するためにアクションが起動するアプリ内のデスティネーション。
capability
内にネストされたintent
要素を使用してアプリ デスティネーションを定義します。パラメータ マッピング: 各
intent
には、インテントのextra
データとして渡されるパラメータが含まれている場合があります。たとえば、各 App Actions BII には、BII をトリガーするクエリでユーザーがよく提供する情報を表すフィールドがあります。
次の例は、actions.intent.START_EXERCISE
の shortcuts.xml
でのケーパビリティの定義を示しています。これは、ユーザーがアシスタントで音声コマンドを使用してフィットネス アプリのワークアウトを開始できるようにする 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 を参照しています。ユーザーがアシスタントに「OK Google, ExampleApp でランニングを開始」と話しかけると、アシスタントは intent
要素にネストされた定義情報を使ってユーザーのリクエストに応えます。この例の intent
では、次の情報を定義しています。
android:targetPackage
に、このインテントのターゲット アプリケーション パッケージを設定しています。android:targetClass
に、デスティネーション アクティビティ(com.example.sampleApp.ExerciseActivity
)を設定しています。- インテント
parameter
は、BII パラメータexercise.name
のサポートと、ユーザーから収集したパラメータ値をintent
の追加データとして渡す方法を宣言します。
ショートカットとケーパビリティを関連付ける
機能を定義したら、静的ショートカットや動的ショートカットを関連付けることで機能を拡張できます。ショートカットを capability
にリンクする方法は、実装される機能とユーザーのリクエストに含まれる実際の単語によって異なります。たとえば、ユーザーがフィットネス トラッキング アプリでランニングを開始する際にアシスタントに「OK Google, ExampleApp でランニングを開始」と話しかけた場合。アシスタントはショートカットを使用して、exercise.name
パラメータに対して有効なエクササイズ エンティティ「run」を定義する capability
のインスタンスを起動できます。
ショートカットを App Actions に関連付ける方法について詳しくは、App Actions の概要をご覧ください。