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 をトリガーできます
次の例は、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 を参照しています。ユーザーがアシスタントに「OK Google, ExampleApp でランニングを開始」と話しかけると、アシスタントは intent
要素にネストされた定義情報を使ってユーザーのリクエストに応えます。この例の intent
では、次の情報を定義しています。
android:targetPackage
に、このインテントのターゲット アプリケーション パッケージを設定しています。android:targetClass
に、デスティネーション アクティビティ(com.example.sampleApp.ExerciseActivity
)を設定しています。- インテント
parameter
で BII パラメータのサポートを宣言するexercise.name
と、パラメータ値を渡す方法( (intent
の追加データ)として渡されます。
ショートカットとケーパビリティを関連付ける
機能を定義したら、API に関連付けて機能を拡張し、
静的または動的ショートカットと一緒に使用できますショートカットが capability
にリンクする仕組み
実装する機能と、使用する実際の単語によって異なります。
受信します。例: ユーザーがフィットネス トラッキングでランニングを開始したとき
アシスタントに「OK Google, ExampleApp でランニングを開始」と話しかけます。アシスタント
ショートカットを使用して、有効な ID を定義する capability
のインスタンスを起動できます。
「run」のエクササイズ エンティティexercise.name
パラメータを指定します。
ショートカットを App Actions に関連付ける方法について詳しくは、App Actions の アクションの概要をご覧ください。