アシスタントの共有

Android スマートフォンのユーザーは、「OK Google, これをマリに送信して」といった音声コマンドを使用して、アプリのコンテンツを別のユーザーと共有することを Google アシスタントに指示できます。アシスタントは、最初のユーザーのシステム オプションに基づいて、画面のテキストやデバイスのスクリーンショットを共有コンテンツに組み込むことができます。

プロンプトが表示されると、選択された写真をアシスタントがメッセージに挿入します。
図 1. アシスタントが連絡先の相手と写真を共有する

多くの場合、この共有方法で十分ですが、アプリから共有されたコンテンツを受け取ったユーザーが、アプリに戻ってコンテンツを確認できないことがあります。現在のフォアグラウンド コンテンツに関する構造化情報をアシスタントに提供するには、onProvideAssistContent() メソッドを実装します。

この手順は、別のユーザーと共有されるデータの構造を維持するために役立ちます。共有されたアプリのコンテンツを受け取ったユーザーは、テキストやスクリーンショットではなく、ディープリンクを受け取ったり、コンテンツを直接受信したりできます。

アプリ内の共有可能な entityonProvideAssistContent() を実装してください。

アシスタントにコンテンツを提供する

行う必要がある作業は、App Action の呼び出し後に、ユーザーのタスクフローで最終的なアプリ アクティビティに onProvideAssistContent() を実装することだけです。たとえば、 GET_ITEM_LIST フロー、最終画面にメソッドを実装 アイテムリストの表示進行中のイベントや プレビュー画面があります

AssistContentstructuredData フィールドに schema.org ボキャブラリを使用する JSON-LD オブジェクトとしてコンテキスト情報を指定します。次のコード スニペットは、コンテキスト コンテンツのロギングの例を示しています。

KotlinJava
で確認できます。
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()
}
     
</ph>
@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() の使用方法について詳しくは、アシスタント用にコンテキスト コンテンツを最適化するガイドをご覧ください。