Os usuários de smartphones Android podem pedir ao Google Assistente para compartilhar conteúdo do app com outro usuário utilizando um comando de voz, como "Ok Google, envie isso para a Maria". Dependendo das opções do sistema do primeiro usuário, o Google Assistente pode incorporar o texto mostrado ou uma captura de tela do dispositivo ao conteúdo compartilhado.

Esse método de compartilhamento costuma ser suficiente, mas é possível que os usuários que recebem conteúdo compartilhado
do seu app não possam entrar nele para ver esse conteúdo. Para dar ao
Google Assistente informações estruturadas sobre o conteúdo que está em primeiro plano,
implemente o método onProvideAssistContent()
.
Esse processo ajuda a manter a estrutura dos dados quando eles são compartilhados com outro usuário. No compartilhamento de conteúdo do app, os usuários podem receber links diretos ou o conteúdo em si, em vez de texto ou uma captura de tela.
Recomendamos que você implemente o método onProvideAssistContent()
em qualquer
entity
compartilhável no seu app.
Como fornecer conteúdo ao Google Assistente
Você só precisa implementar o método onProvideAssistContent()
para a atividade final do app
no fluxo de tarefas do usuário depois de invocar a ação no app. Por exemplo, em um
fluxo CREATE_MONEY_TRANSFER
, você implementaria esse método na tela final
que mostra o recebimento. Não é necessário fazer a implementação em nenhuma tela de progresso ou
prévia.
Forneça informações contextuais como um objeto JSON-LD
usando o vocabulário do schema.org (links em inglês) no
campo structuredData
da classe AssistContent
. O snippet de código a seguir mostra
um exemplo de registro de conteúdo contextual:
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(); }
Embora seja recomendável fornecer o máximo de dados possível sobre cada entity
,
somente estes campos são obrigatórios:
@type
.name
.url
(obrigatório apenas se o conteúdo for endereçável por URL)
Para saber mais sobre como usar o onProvideAssistContent()
, consulte o guia
Como otimizar o conteúdo contextual para o Google Assistente na
documentação para desenvolvedores Android.