Google アシスタントを使用すると、Android アプリを音声転送で操作できます。アシスタントを使用すると、ユーザーは「OK Google, Example App でランニングを開始」のように音声で話しかけることで、アプリの起動、タスクの実行、コンテンツへのアクセスなどを行えます。
Android デベロッパーは、アシスタントの開発フレームワークとテストツールを使用して、モバイル デバイス、自動車、ウェアラブルなどの Android 搭載デバイス上で、アプリの詳細な音声操作を簡単に実現できます。
App Actions
アシスタントの App Actions を使用すると、ユーザーは Android アプリを音声で起動して操作できます。
App Actions を使用すると、より細かい音声操作が可能になり、ユーザーはアプリを起動して次のようなタスクを実行できます。
- アシスタントから機能を起動する: 事前定義されたセマンティック パターンまたは組み込みインテントに一致するユーザークエリにアプリの機能を接続します。
- Google サーフェスにアプリ情報を表示する: アシスタントが表示する Android ウィジェットを提供し、コンテキストを変更することなく、インライン回答、シンプルな確認、簡単な操作をユーザーに提供します。
- アシスタントから音声ショートカットを提案する: アシスタントを使用して、ユーザーが発見またはリプレイできるように、適切なコンテキストのタスクを事前に提案します。
App Actions は、組み込みインテント(BII)を使用して、一般的なタスクカテゴリにおいて、このようなさまざまなユースケースを実現しています。アプリで BII をサポートする方法について詳しくは、このページの App Actions の概要をご覧ください。
マルチデバイス開発
App Actions を使用すると、モバイル以外のデバイス サーフェスでボイスフォワード コントロールを提供できます。たとえば、Auto のユースケース用に最適化された BII を使用すると、ドライバーは音声で次のタスクを実行できます。
App Actions の概要
App Actions を使用すると、ユーザーは音声でアプリ内の特定のタスクを実行できるようにすることで、アプリの音声操作をより詳細に行うことができます。アプリをインストール済みのユーザーは、「OK Google, Example App でピザを注文して」など、アプリ名を含むフレーズを使ってインテントを伝えるだけです。App Actions は、ユーザーが達成したいタスクや求める情報を表現する一般的な方法をモデル化する BII をサポートしています。以下に例を示します。
- 料理の注文、乗り物の予約など、カテゴリに固有のアクション。
- アプリの機能を開く。
- アプリ内検索でプロダクトやコンテンツをクエリする。
App Actions を使用すると、アシスタントはユーザーの状況に基づき、音声ケーパビリティをショートカットとして事前にユーザーに提示できます。この機能により、ユーザーは App Actions を簡単に見つけてリプレイできます。また、App Actions のアプリ内プロモーション SDK を使用して、アプリでこうしたショートカットを提案することもできます。
App Actions のサポートを有効にするには、shortcuts.xml
で <capability>
タグを宣言します。ケー��ビリティは、BII を使用してアプリ内機能に意味的にアクセスする方法を Google に伝え、機能の音声サポートを有効にします。アシスタントは、指定されたコンテンツまたはアクションでアプリを起動して、ユーザーのインテントを遂行します。ユースケースによっては、Android ウィジェットを指定してアシスタント内に表示し、ユーザークエリを遂行できます。
App Actions は、Android 5(API レベル 21)以上でサポートされています。ユーザーは Android スマートフォンでのみアプリ アクションにアクセスできます。Android Go のアシスタントは、App Actions をサポートしていません。
App Actions の仕組み
App Actions は、アプリ内機能をアシスタントに拡張し、ユーザーが音声でアプリの機能を利用できるようにします。ユーザーが App Action を呼び出すと、アシスタントは shortcuts.xml
リソー��で宣言された BII とクエリを照合し、リクエストされた画面でアプリを起動するか、Android ウィジェットを表示します。
アプリで BII を宣言するには、Android のケーパビリティ要素を使用します。Google Play Console を使用してアプリをアップロードすると、アプリで宣言されているケーパビリティが Google に登録され、ユーザーがアシスタントからアクセスできるようになります。
たとえば、アプリで料理を注文する機能を用意するとします。ユーザーが「OK Google, Example App でピザを注文して」と話しかけると、次のステップが発生します。
- アシスタントは、クエリに対して自然言語分析を実行し、リクエストのセマンティクスを BII の事前定義済みパターンと照合します。この場合、BII「
actions.intent.ORDER_MENU_ITEM
」がクエリと一致します。 - Google アシスタントは、BII がアプリに登録されているかどうかをチェックし、その構成に基づいて起動方法を決定します。
- Google アシスタントは、
<capability>
内で提供された情報を使用して、リクエストのアプリ内デスティネーションを起動する Android インテントを生成します。アシスタントは、クエリのパラメータを抽出し、生成された Android インテントにエクストラとして渡します。 - アシスタントは、生成された Android インテントを起動して、ユーザー リクエストを遂行します。アプリ内で画面を起動するか、アシスタント内にウィジェットを表示するように
intent
を構成します。
![ユーザーが Google アシスタントにクエリを提示すると、アシスタントはユーザーのためにアプリのデスティネーションを起動することにより応答します。](https://cdn.statically.io/img/developer.android.com/static/guide/app-actions/images/assistant-flow.png?hl=ja)
ユーザーがタスクを完了したら、Google Shortcuts Integration Library を使用して、アクションとそのパラメータの動的ショートカットを Google にプッシュします。これにより、アシスタントは状況に応じた適切なタイミングでショートカットをユーザーに提案できます。
このライブラ��を使用すると、ショートカットがアシスタントなどの Google サーフェスで検出してリプレイできるようになります。たとえば、ライドシェア アプリでユーザーがリクエストした目的地ごとにショートカットを Google にプッシュし、後でショートカットの候補としてすばやくリプレイできるようにします。
App Actions を作成する
App Actions は、Android アプリの既存の機能の上に作成されます。作成手順は、実装するどの App Actions でも大きな違いはありません。App Actions は、shortcuts.xml
で指定した capability
要素を使用して、アプリ内の特定のコンテンツまたは機能にユーザーを直接誘導します。
App Action を作成する際は、まず、ユーザーがアシスタントからアクセスできるようにしたいアクティビティを特定します。次に、その情報を使用して、App Actions の BII リファレンスから、最も近い BII を見つけます。
BII は、ユーザーがアプリで遂行したいタスクや探している情報を表現する一般的な方法をモデル化したものです。たとえば、料理の注文、乗り物の予約、口座残高の確認などのアクションを表す BII があります。BII は App Actions を使い始めるのに最適な方法です。BII はユーザークエリのバリエーションを複数の言語でモデル化しており、アプリをすばやく音声対応にできるからです。
実装するアプリ内機能と BII を特定したら、その BII をアプリの機能にマッピングする Android アプリの shortcuts.xml
リソース ファイルを追加または更新します。shortcuts.xml
で capability
要素として定義する App Actions では、各 BII がフルフィルメントを解決する方法と、どのパラメータが抽出されてアプリに渡されるかを記述します。
App Actions の開発の大部分は、BII のパラメータを、定義されたフルフィルメントにマッピングする作業です。通常、このプロセスは、アプリ内機能の要求される入力を BII のセマンティック パラメータにマッピングする形で行われます。
App Actions をテストする
開発時とテスト時は、Android Studio 用の Google アシスタント プラグインを使用して、アシスタントに App Actions のプレビュー(自分の Google アカウント用)を作成します。このプラグインを使用��ると、デプロイに向けてアプリを送信する前に、App Action でさまざまなパラメータがどのように処理されるかをテストできます。このテストツールで App Action のプレビューを生成したら、テストツール ウィンドウから直接テストデバイスで App Action をトリガーできます。
メディアアプリ
アシスタントは、メディアアプリのコマンドを理解するための組み込み機能(「OK Google, ビヨンセの曲を再生」など)を提供し、一時停止、スキップ、早送り、高く評価などのメディア コントロールをサポートしています。
次のステップ
App Actions のパスウェイに沿って、サンプルアプリの Android アプリを使って App Actions を作成します。その後、ガイドに進んで独自のアプリ用の App Actions を作成しましょう。App Actions の作成については、以下のリソースも参考になります。
- GitHub でフィットネス Android アプリのサンプルをダウンロードしてご確認ください。
- r/GoogleAssistantDev: Google アシスタントを使用するデベロッパー向けの Reddit の公式コミュニティ。
- App Actions のプログラミングに関する質問がある場合は、「android」タグと「app-actions」タグを使用して、Stack Overflow に投稿してください。投稿する前に、質問がトピックに沿っていることを確認し、適切な質問のしかたに関するガイダンスをお読みください。
- 公開されている Issue Tracker で、App Actions の機能に関するバグと一般的な問題を報告します。