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 que um app leia conteúdo baseado na Web em voz alta, destaque as palavras que estão sendo lidas e role a página automaticamente. 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.
Implemente onProvideAssistContent()
para 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 guias personalizadas do Chrome, use os mesmos URIs da Web para o recurso Ler como 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 mostrar
matérias jornalísticas, implemente onProvideAssistContent()
na tela final
que mostra o artigo. Não é necessário fazer a implementação em nenhuma tela de progresso ou
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
de dados possível 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.