ショートカットに機能を追加する

shortcuts.xml の機能を使用すると、ユーザーが実行できるアクションの種類を宣言できます 特定のタスクを直接実行できます

たとえば、Google アシスタントの App Actions は、 アプリ内機能を組み込みインテント(BII)に拡張して、ユーザーが それらの機能を音声コマンドで操作できます。ケーパビリティは アクションの名前と、アプリ内のデスティネーションをターゲットとする intent ユーザーのインテントを解決できます。

shortcuts.xml にケーパビリティを定義する

Android アプリ開発プロジェクトの shortcuts.xml リソース ファイルに capability 要素を定義します。capability 要素を定義する手順は次のとおりです。 次のとおりです。

  1. 作成の手順で shortcuts.xml リソースを作成します。 静的ショートカットをご覧ください。
  2. 能力には以下の必須情報を含めてください。

    • 機能名: アプリでサポートするアクションを指定します。詳しくは、 機能を必要とする機能のコンポーネント ドキュメント あります。App Actions の音声対応コマンドは BII Action ID を使用する 機能名については、BII リファレンスをご覧ください。たとえば BII「GET_THING」の Action IDactions.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 の アクションの概要をご覧ください。