Compartilhamento com o Google Assistente

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.

Quando solicitado,
            o Google Assistente insere uma foto selecionada em uma mensagem.
Figura 1. O Google Assistente compartilha uma foto com um contato.

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 conferir o 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.

Implemente onProvideAssistContent() para qualquer entity compartilhável no app.

Fornecer conteúdo ao Google Assistente

Você só precisa implementar 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, implemente o método na tela final que mostra o recebimento. Não é necessário fazer a implementação em nenhuma tela de progresso ou de 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:

Kotlin
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()
}
      
Java
@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();
}
      

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 o uso de onProvideAssistContent(), consulte o guia Como otimizar o conteúdo contextual para o Google Assistente.