App Actions を作成する

App Actions を使用すると、ユーザーは質問によって Android アプリの機能を起動できます Google アシスタントを使用するか、アシスタントが提案する Android ショートカットを使用します。これらの は、App Actions で Android アプリを拡張するための主な手順です。

  1. トリガーするアプリ内機能と、それに対応する組み込みインテント(BII)を特定します。
  2. BII のフルフィルメントの詳細を指定します。
  3. App Action のショートカットをアシスタントにプッシュします。
  4. テストデバイスで App Actions をプレビューします。
  5. アプリのテストリリースを作成します。
  6. App Actions の審査とデプロイをリクエストします。

オプションとして、アシスタントがユーザーに提示する動的ショートカットを定義できます。サンプルアプリを使用して App Action を作成する App Actions の Codelab の手順に沿って進めてください。

要件

App Actions の開発を始める前に、アプリとアプリが 次の要件を満たす必要があります。

  • 以下にアクセスできる Google アカウントが必要です。 Google Play Console:
  • App Actions は Google Play ストアで公開されているアプリでのみ使用できるため、アプリは Google Play ストアに公開されている必要があります。また、アプリが App Actions はサポートされていないため、仕事用プロファイルでの使用を意図していない 。
  • App Actions をテストするには、実機または仮想デバイスが必要です。
  • 最新バージョンの Android Studio が必要です。
  • Android にログインするには、同じ Google アカウントを使用する必要があります。 Studio、テストデバイス上の Google アプリ、Google Play Console。
  • テストデバイスでアシスタントを設定し、ホームボタンを長押ししてテストする必要があります。

アプリの機能と一致する組み込みインテントを見つける

ユーザーが求める Android アプリの機能を特定する 音声のリクエストで移動し 組み込みインテントのリファレンス: 適切な BII を探す 構築できますBII は、実行したいタスクに対するユーザークエリをモデル化します 主な機能とユーザー インターフェースに合致する BII を探します。 アプリのフローを確認できます

ほとんどの Android アプリで使用できる一般的な BII があり、 actions.intent.GET_THING のアシスタントへのアプリ内検索 BII を指定するか、特定のアプリの機能を音声で起動できるようにする BII「actions.intent.OPEN_APP_FEATURE」の実装

業種(カテゴリ)に特有のユースケースに対応した BII も多数あります。対象 たとえば、エクササイズ アプリでは actions.intent.START_EXERCISE を使用して、 BII。

優れたユーザー エクスペリエンスを実現し、承認の遅延を回避するために、 実装する各 BII が、アプリ内機能に関連するものであることを確認します。

App Actions は、アシスタント アプリから Android のインテントを起動して、 アプリ内の特定のコンテンツにユーザーを誘導します。インテントを定義することで、 targetClass を指定してアクティビティを明示的に起動 targetPackage フィールド。Android ディープリンク URL をすでにアプリに実装している場合は、フルフィルメントにディープリンクを使用するようにインテントを構成できます。詳細については、アクティビティの詳細テスト リンクをご覧ください。

組み込みインテントのフルフィルメントの詳細を指定する

App Actions を構築する作業のほとんどは、機能を Android アプリの shortcuts.xml リソース ファイルを開き、 選択した BII とそれに対応するフルフィルメントを指定します。BII は、タスクのユーザークエリをモデル化したものです。フルフィルメント インテントは、タスクの実行方法に関する情報をアシスタントに提供します。

shortcuts.xml ファイルでは、BII は <capability> と表されます。 要素があり、各フルフィルメントは <intent> 要素として表されます。

<shortcuts>
    <capability android:name="actions.intent.START_EXERCISE">
        <intent
            android:action="android.intent.action.VIEW"
            android:targetPackage="com.example.app"
            android:targetClass="com.example.app.browse">
            <parameter
                android:name="exercise.name"
                android:key="exercise_name">
            </parameter>
        </intent>
    </capability>

ほとんどの BII では、schema.org エンティティに基づいてユーザークエリからインテント パラメータを抽出します。アプリはそれらの BII を使用します。 選択した機能にユーザーを誘導します。たとえば、 前 BII パラメータ「exercise.name」を exercise_name Android 要素にマッピングする intent パラメータ。

ディープリンクを使用してアクションを遂行する場合は、urlTemplate フィールドを使用して、アシスタントが生成するディープリンク URL を定義します。

<shortcuts>
    <capability android:name="actions.intent.START_EXERCISE">
        <intent android:action="android.intent.action.VIEW">
            <url-template android:value="myexerciseapp://start{?exercise_name}" />
            <parameter android:name="exercise.name"
                android:key="exercise_name"
                android:mimeType="text/*">
            </parameter>
        </intent>
    </capability>
</shortcuts>
<ph type="x-smartling-placeholder">

App Actions を shortcuts.xml ファイルに追加することに関する重要事項については、 shortcuts.xml を作成するをご覧ください。このページにも では、アプリで想定するパラメータ値を指定する方法を説明しています。

GET_THING 組み込みインテントを実装する

アプリに検索機能が含まれている場合は、その機能に対応する actions.intent.GET_THING BII を実装する必要があります。その後、アシスタントを使って ユーザーがアプリを検索したときに、アプリ内検索結果を表示できるようになります。 「OK Google, Example App で Example Thing を検索して」など。

shortcuts.xml ファイルで、actions.intent.GET_THING BII に対応する <capability> を実装します。この手順は、他の BII を実装する場合と同様です。複数のフルフィルメントを使用して、 GET_THING。ただし、ユーザーを渡すフルフィルメントを少なくとも 1 つ指定する必要があります。 クエリを追加します。

shortcuts.xmlactions.intent.GET_THING BII を追加する例を次に示します。

  <capability android:name="actions.intent.GET_THING">
    <intent
      android:targetPackage="com.example.myapp"
      android:targetClass="com.example.myapp.MySearchActivity">
      <parameter android:name="thing.name" android:key="query" />
    </intent>
  </capability>

検索 Activity で、 intent に渡して、アプリの検索機能に渡します。上記のコードでは、 query キーとして渡される検索クエリが "thing.name" にマッピング BII パラメータ。次に、クエリを使用して検索を実行し、その結果をユーザー インターフェースに表示します。

省略可: App Action のショートカットをアシスタントにプッシュする

アクションのケーパビリティを定義すると、ユーザーは「OK Google, Example App でピザを注文して」などと話しかけるだけで、アクションを起動できるようになります。アシスタントは、アクションの Android ショートカットを関連性の高いユーザーに提案できます ユーザーがアクションを発見して再生できるようにします。アシスタント 動的ショートカットと静的ショートカットの両方を提案できます。

動的ショートカットをアシスタントにプッシュするには、Google Shortcuts Integration Library を使用します。この Jetpack ライブラリを使用すると、アシスタントがショートカットを取り込み、適切なタイミングでユーザーに提示できるようになります。

詳しくは、アシスタントに動的ショートカットをプッシュするをご覧ください。

App Actions をプレビューする

開発時とテスト時には、 そのテストを行うために、Android Studio 用の Google アシスタント プラグインを使います。 App Actions はお客様のアプリで機能します。プラグインが App Actions のプレビューを作成する 使用する Google アカウントを選択します。このテストツールを使用すると、ユーザーから受け取ることを想定している入力パラメータを BII に提供して、物理テストデバイスまたはエミュレータでフルフィルメントをテストできます。

App Actions をプレビューしながら、 ダウンロードしますこの機能は、App Actions の BII リファレンスに記載されているクエリでのみ利用できます。音声を使用 通常のテストではなく、デモ用にのみトリガーします。

Google Play 用のデベロッパー ツールを使用して、アプリをドラフトモードでテストする 審査のためにアプリを送信してください。 Google Play Console を使用してドラフトをデプロイする方法の詳細 リリース

テストリリースを作成する

テスターを追加して App Actions をテストする準備ができたら、 アプリの内部テストリリースまたはクローズド テストリリースを作成する。 デフォルトでは、内部および クローズド リリースのテスターは、 審査を受けて承認されました

未承認のアクションを含むすべての App Actions へのテストアクセス権を付与するには、App Actions Development Program Google グループに参加するようテスターに指示します。このグループのメンバー すべての App Actions にクローズドおよび 内部テスト リリースの作成に使用できます。 App Actions テストツールを使用します。グループに参加してから最長で 3 時間ほどかかることがあります ご確認ください。

App Actions の審査とデプロイをリクエストする

公開アプリやオープンテストのユーザーは App Actions を利用できません リリースされます。App Actions の審査では、 が Google Play での Android アプリの審査とデプロイ ステータスに影響することがあります。たとえ アプリの送信が承認されて Google Play ストアに公開されると、 shortcuts.xml は Google で審査中の可能性があります。審査で承認されるまで、App Actions はエンドユーザーに対して機能しません。

アプリをデプロイするとき、App Actions は有効なままになります。ただし、再デプロイしたバージョンは Google による審査の対象となります。新しいバージョンが ポリシー違反があった場合、Google は アプリの App Actions を無効にします。

審査のために App Actions を提出する手順は次のとおりです。

  1. Google Play Console で App Actions の利用規約に同意する ([詳細設定] > [App Actions])。

    Google Play Console の App Actions 利用規約。

  2. アプリshortcuts.xmlを含む)を 通常どおり Google Play Console で公開できます。

  3. アプリを Google Play Console にアップロードすると、 ステータスに関する詳細情報が記載されたメールを Google Play Console アカウントに表示できます アプリの アクションの審査。アシスタント デベロッパー サポートにお問い合わせいただくこともできます 。連絡先 フォームに入力し、アプリのパッケージ ID を入力して [App Action の審査] を [How can we help you?] 選択ボックス。

ディープリンクを使用し、App Action を使用して Activity を起動するには、Activity ディープリンク URL を設定し、対応するインテント フィルタを Android アプリ マニフェストで確認できます。

アクティビティにアクセスでき、 ディープリンクを使用する App Actions で、次の adb コマンドを実行します。

$ adb shell am start -a android.intent.action.VIEW -d "AppLinksURL"

例:

$ adb shell am start -a android.intent.action.VIEW -d "https://www.example.com/deeplink"

adb コマンドでアクティビティが正常に起動されない場合は、次の点を確認してください。

  • アプリのマニフェスト ファイルで、アクティビティに android:exported=true が含まれているため、 Google アシスタントのインテントを使用して起動できます。
  • アプリリンク URL を使用している場合、Android アプリリンクの処理に記載されている手順をすべて実施している。

App Actions のポリシー

アプリアクションをトリガーしたユーザーに意図したエクスペリエンスを提供するには、アプリアクションが特定のポリシーに準拠している必要があります。ポリシーを確認してから 最良のユーザー エクスペリエンスを提供し、Play 以外の方法でアプリを送信すること ショップの審査の遅延または不承認。

  • ユーザーをユーザー作成コンテンツに誘導する

    App Actions の組み込みインテント(BII)やパラメータは、ユーザーの意図する関連するアクションにのみユーザーを誘導する必要があります。これには、アプリ内コンテンツ、 スライスやウィジェットに表示されるウェブサイトのコンテンツや エクスペリエンスが損なわれることはありません。

    たとえば、BII「START_EXERCISE」を実装すると、ユーザーの ランニングや水泳など、特定の種類のエクササイズを開始する。唯一の BII「OPEN_APP_FEATURE」がユーザーを アプリのホーム画面に移動します。

  • 関連する App Actions BII を実装する

    実装する BII は、アプリのコンテンツに直接関連している必要があります。また、 説明します。

    たとえば、アプリが「コミュニケーション」の Google Play ストア カテゴリに分類される場合、 BII「START_EXERCISE」を実装しないでください。 健康&フィットネス カテゴリのアプリにおすすめです。

  • 関連するカスタム インテントを実装する

    アプリのコンテンツと関連するカスタム インテントのクエリが定義されている 説明します。この違反の例 ポリシーでインテント custom.action.intent.GET_RECIPE が作成され、 関連付けられたクエリパターン「ブリトーのレシピを見せて」アプリの 交通機関の Google Play ストアのカテゴリ。