App Actions を作成する

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

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

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

要件

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

  • 以下にアクセスできる Google アカウントが必要です。 Google Play Console:
  • App Actions はいくつかの理由から、アプリを 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 の中には、業種固有のユースケース、すなわちカテゴリ固有のユースケースを可能にする BII もあります。対象 たとえば、料理の注文アプリでは actions.intent.ORDER_MENU_ITEM 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.ORDER_MENU_ITEM">
        <intent
            android:action="android.intent.action.VIEW"
            android:targetPackage="com.example.app"
            android:targetClass="com.example.app.browse">
            <parameter
                android:name="menuItem.name"
                android:key="query">
            </parameter>
        </intent>
    </capability>

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

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

<shortcuts>
    <capability android:name="actions.intent.ORDER_MENU_ITEM">
        <intent android:action="android.intent.action.VIEW">
            <url-template android:value="myfoodapp://browse{?query}" />
            <parameter android:name="menuItem.name"
                android:key="query"
                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 ファイルで、次のように <capability> を実装します。 BII「actions.intent.GET_THINGその他の 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 ショートカットの統合を使用します ライブラリです。この 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 のポリシー

App Actions は特定のポリシーに準拠し、アプリを実行するユーザーが 期待どおりの体験が得られるようにしますポリシーを確認してから 最良のユーザー エクスペリエンスを提供し、Play 以外の方法でアプリを送信すること ショップの審査の遅延または不承認。

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

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

    たとえば、BII「ORDER_MENU_ITEM」を実装すると、ユーザーの 指定したメニュー項目や料理の種類の注文を開始します。唯一の BII「OPEN_APP_FEATURE」がユーザーを アプリのホーム画面に移動します。

  • 関連性の高いウェブ コンテンツにユーザーを誘導する

    ユーザーがウェブページのコンテンツにリダイレクトされる場合、ウェブサイトは ブランドが所有するものである必要があります。

    たとえば、トリガーしたユーザーの BII「GET_RESERVATION」が属していない google.com/travel に送信される アプリのブランド exampledomain.com は違反に該当します。別の例として、 BII「GET_CALL_HISTORY」をトリガーしたユーザーは、 exampledomain.com/paymentし、購入を必須にします。

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

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

    たとえば、アプリが「コミュニケーション」の Google Play ストア カテゴリに分類される場合、 BII「ORDER_MENU_ITEM」を実装しないでください。 食品、飲料カテゴリのアプリにおすすめです。

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

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