O recurso de leitura do Google Assistente está disponível para dispositivos Android e oferece mais uma maneira para os usuários lerem conteúdos longos da Web, como artigos de notícias e postagens do blog. Os usuários podem dizer algo como "Ok Google, leia" para instalar um app leia conteúdo baseado na Web em voz alta, destaque as palavras lidas e role automaticamente. da página. Para saber mais sobre esse recurso, consulte também a postagem de atualização do recurso de leitura (em inglês).
Apps Android com conteúdo baseado na Web podem oferecer suporte ao recurso de leitura, fornecendo informações
ao Google Assistente com o método onProvideAssistContent()
.
Esse processo ajuda a manter a estrutura de dados que são compartilhados com o Assistente. Os usuários que receberem conteúdo compartilhado do app podem usar links diretos ou acessarem o conteúdo diretamente, em vez de texto ou uma captura de tela.
Implementar onProvideAssistContent()
em qualquer conteúdo baseado na Web.
e qualquer entity
compartilhável no app.
Fornecer conteúdo ao Google Assistente
Para que o recurso de leitura acesse seu conteúdo, o app precisa fornecer ao Google Assistente informações sobre o conteúdo, como o URI da Web e alguns contextos básicos. O Google Assistente pode extrair o conteúdo a ser lido em voz alta para o usuário.
Para Apps Android que já implementam conteúdo baseado na Web usando WebViews ou nas guias personalizadas do Chrome, use os mesmos URIs da Web para o recurso "Ler" como um ponto de partida.
Ao combinar a função de leitura com intents integradas, você só precisa
implementar onProvideAssistContent()
para a atividade final do app no fluxo de tarefas
do usuário depois de invocar Ações no app.
Por exemplo, se o app exibe
artigos de notícias, implemente onProvideAssistContent()
na tela final.
mostrando a matéria; você não precisa implementá-lo para nenhum processo em andamento ou
telas de prévia.
Forneça um URI da Web para seu conteúdo no campo uri
de AssistContent
.
Forneça informações contextuais como um objeto JSON-LD
usando o vocabulário do schema.org no
campo structuredData
(links em inglês).
O snippet de código abaixo mostra um exemplo de como fornecer conteúdo ao Google Assistente:
Kotlin
override fun onProvideAssistContent(outContent: AssistContent) { super.onProvideAssistContent(outContent) // Set the web URI for content to be read from a // WebView, Chrome Custom Tab, or other source val urlString = url.toString() outContent.setWebUri(Uri.parse(urlString)) // Create JSON-LD object based on schema.org structured data val structuredData = JSONObject() .put("@type", "Article") .put("name", "ExampleName of blog post") .put("url", outContent.getWebUri()) .toString() outContent.setStructuredData(structuredData) }
Java
@Override public void onProvideAssistContent(AssistContent outContent) { // Set the web URI for content to be read from a // WebView, Chrome Custom Tab, or other source String urlString = url.toString(); outContent.setWebUri(Uri.parse(urlString)); try { // Create JSON-LD object based on schema.org structured data String structuredData = new JSONObject() .put("@type", "Article") .put("name", "ExampleName of blog post") .put("url", outContent.getWebUri()) .toString(); outContent.setStructuredData(structuredData); } catch (JSONException ex) { // Handle exception Log.e(TAG, ex.getMessage()); } super.onProvideAssistContent(outContent); }
Ao implementar onProvideAssistContent()
, forneça o máximo possível
o máximo possível de dados sobre cada entity
. Os campos
abaixo 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.