Google アシスタントを使用すると、Android アプリを音声で操作できます。アシスタントを使用すると、ユーザーは「OK Google, Example App でランニングを開始」などと話しかけて、アプリの起動、タスクの実行、コンテンツへのアクセスなどを行うことができます。
Android デベロッパーは、アシスタントの開発フレームワークとテストツールを使用して、モバイル デバイス、自動車、ウェアラブルなどの Android 搭載デバイス上で、アプリの詳細な音声操作を簡単に実現できます。
App Actions
アシスタントの App Actions を使用すると、ユーザーが音声で Android アプリの起動と操作を行えるようになります。
App Actions を使用すると、音声操作をより深く行うことができ、ユーザーはアプリを起動して次のようなタスクを実行できます。
- アシスタントから機能を起動する: アプリのケーパビリティを、事前定義されたセマンティック パターンまたは組み込みインテントと一致するユーザークエリに関連付けます。
- Google サーフェスにアプリ情報を表示する: アシスタントが表示する Android ウィジェットを提供し、コンテキストを変更することなく、インライン回答、単純な確認、短いやり取りをユーザーに提供します。
- アシスタントから音声ショートカットを提示する: アシスタントを使用して、ユーザーが検出またはリプレイするタスクを、適切なコンテキストで事前に提示します。
App Actions は、組み込みインテント(BII)を使用して、一般的なタスク カテゴリでこれらのユースケースやその他の多くのユースケースを実現します。アプリで BII をサポートする方法について詳しくは、このページの App Actions の概要をご覧ください。
マルチデバイス開発
アプリ アクションを使用すると、モバイル以外のデバイス サーフェスで音声による操作を提供できます。たとえば、自動車のユースケース向けに最適化された BII を使用すると、ドライバーは音声で次のタスクを実行できます。
App Actions の概要
App Actions を使用すると、ユーザーが音声でアプリ内の特定のタスクを実行できるようになり、アプリの音声操作をより深く提供できます。ユーザーがアプリをインストールしている場合、「OK Google, Example App でエクササイズを開始して」など、アプリ名を含むフレーズを使用して、意図を簡単に伝えることができます。App Actions は、ユーザーが遂行したいタスクや探している情報を表現する一般的な方法をモデル化した BII をサポートしています。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 の事前定義済みパターンと照合します。この例では、
actions.intent.START_EXERCISE
BII がクエリと照合されます。 - アシスタントは、BII が以前アプリに登録されたかどうかを確認し、その構成を使用してアプリの起動方法を判断します。
- アシスタントは、
<capability>
で指定された情報を使用して、リクエストのアプリ内デスティネーションを起動する Android インテントを生成します。アシスタントは、クエリのパラメータを抽出し、生成された Android インテントにエクストラとして渡します。 - アシスタントは、生成された Android インテントを起動して、ユーザー リクエストを遂行します。
intent
は、アプリ内で画面を起動するか、またはアシスタント内でウィジェットを表示するように構成します。

ユーザーがタスクを完了した後で、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 をアプリの機能にマッピングする 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 Action を作成します。その後、独自のアプリ用に App Actions を作成するに進みます。また、App Actions の作成については、以下のリソースも参考になります。
- GitHub でフィットネス Android アプリのサンプルをダウンロードして内容を調べます。
- r/GoogleAssistantDev: Google アシスタントを使用するデベロッパー向けの Reddit の公式コミュニティ。
- App Actions のプログラミングに関する質問がある場合は、「android」タグと「app-actions」タグを使用して、Stack Overflow に投稿してください。投稿する前に、質問がトピックに沿っていることを確認し、適切な質問のしかたに関するガイダンスをお読みください。
- 公開されている Issue Tracker で、App Actions の機能に関するバグと一般的な問題を報告します。