Ler em voz alta

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).

Quando solicitado, o app lê o conteúdo da Web na tela em voz alta com
            a ajuda do Google Assistente.
Figura 1. Ouvindo um app ler conteúdo da Web em voz alta.

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.