Android スマートフォンのユーザーは、「OK Google, これをマリに送信して」といった音声コマンドを使用して、アプリのコンテンツを別のユーザーと共有することを Google アシスタントに指示できます。アシスタントは、最初のユーザーのシステム オプションに基づいて、画面のテキストやデバイスのスクリーンショットを共有コンテンツに組み込むことができます。
多くの場合、この共有方法で十分ですが、アプリから共有されたコンテンツを受け取ったユーザーが、アプリに戻ってコンテンツを確認できないことがあります。現在のフォアグラウンド コンテンツに関する構造化情報をアシスタントに提供するには、onProvideAssistContent()
メソッドを実装します。
この手順は、別のユーザーと共有されるデータの構造を維持するために役立ちます。共有されたアプリのコンテンツを受け取ったユーザーは、テキストやスクリーンショットではなく、ディープリンクを受け取ったり、コンテンツを直接受信したりできます。
アプリ内の共有可能な entity
に onProvideAssistContent()
を実装してください。
アシスタントにコンテンツを提供する
行う必要がある作業は、App Action の呼び出し後に、ユーザーのタスクフローで最終的なアプリ アクティビティに onProvideAssistContent()
を実装することだけです。たとえば、
GET_ITEM_LIST
フロー、最終画面にメソッドを実装
アイテムリストの表示進行中のイベントや
プレビュー画面があります
AssistContent
の structuredData
フィールドに schema.org ボキャブラリを使用する JSON-LD オブジェクトとしてコンテキスト情報を指定します。次のコード スニペットは、コンテキスト コンテンツのロギングの例を示しています。
override fun onProvideAssistContent(outContent: AssistContent) { super.onProvideAssistContent(outContent) // JSON-LD object based on Schema.org structured data outContent.structuredData = JSONObject() .put("@type", "MenuItem") .put("name", "Blueberry Crisp Iced Signature Latte") .put("url", "https://mysite.com/menuitems/12345a") .toString() }
@Override public void onProvideAssistContent(AssistContent outContent) { super.onProvideAssistContent(outContent); // JSON-LD object based on Schema.org structured data outContent.structuredData = new JSONObject() .put("@type", "MenuItem") .put("name", "Blueberry Crisp Iced Signature Latte") .put("url", "https://mysite.com/menuitems/12345a") .toString(); }
各 entity
について、できるだけ多くのデータを提供してください。以下のフィールドは必須です。
@type
.name
.url
(コンテンツが URL アドレス指定可能な場合のみ必須)
onProvideAssistContent()
の使用方法について詳しくは、アシスタント用にコンテキスト コンテンツを最適化するガイドをご覧ください。