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:
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)
}
@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.