Para evitar a troca de contexto quando os usuários compartilham um link no Google Chat, o app do Chat pode visualizar o link anexando um card à mensagem com mais informações e permitindo que as pessoas tomem medidas diretamente no Google Chat.
Por exemplo, imagine um espaço do Chat que inclua todos os agentes de atendimento ao cliente de uma empresa e um app do Chat chamado Case-y. Os agentes costumam compartilhar links para casos de atendimento ao cliente no espaço do Chat, e sempre que fazem isso, os colegas precisam abrir o link do caso para conferir detalhes como responsável, status e assunto. Da mesma forma, se alguém quiser assumir a propriedade de um caso ou mudar o status, será necessário abrir o link.
A visualização de links permite que o app do Chat residente do espaço, Case-y, anexe um card mostrando o responsável, o status e o assunto sempre que alguém compartilhar um link de caso. Os botões na ficha de informações permitem que os representantes assumam a propriedade do caso e mudem o status diretamente no stream de chat.
Como funciona a visualização de links
Quando alguém adiciona um link à mensagem, um ícone aparece informando que um app do Chat pode visualizar o link.

Depois de enviar a mensagem, o link é enviado ao app do Chat, que gera e anexa o card à mensagem do usuário.

Junto com o link, o card fornece mais informações sobre ele, incluindo elementos interativos, como botões. O app do Chat pode atualizar o card anexado em resposta às interações do usuário, como cliques em botões.
Se alguém não quiser que o app do Chat visualize o link anexando um card à mensagem, é possível impedir a visualização clicando no ícone de visualização. Os usuários podem remover o card anexado a qualquer momento clicando em Remover visualização.
Pré-requisitos
Node.js
Um app do Google Chat que recebe e responde a eventos de interação. Para criar um app interativo do Chat usando um serviço HTTP, conclua este guia de início rápido.
Python
Um app do Google Chat que recebe e responde a eventos de interação. Para criar um app interativo do Chat usando um serviço HTTP, conclua este guia de início rápido.
Java
Um app do Google Chat que recebe e responde a eventos de interação. Para criar um app interativo do Chat usando um serviço HTTP, conclua este guia de início rápido.
Apps Script
Um app do Google Chat que recebe e responde a eventos de interação. Para criar um app interativo do Chat no Apps Script, conclua este guia de início rápido.
Configurar visualizações de links
Registre links específicos, como example.com, support.example.com, e
support.example.com/cases/, como padrões de URL na
página de configuração do app do Chat no console do Google Cloud para que
seu app do Chat possa visualizá-los.

- Abra o console do Google Cloud.
- Ao lado de "Google Cloud", clique na seta para baixo e abra o projeto do app do Chat.
- No campo de pesquisa, digite
Google Chat APIe clique em Google Chat API. - Clique em Gerenciar > Configuração.
- Em "Visualizações de links", adicione ou edite um padrão do URL.
- Para configurar visualizações de links para um novo padrão do URL, clique em Adicionar padrão do URL.
- Para editar a configuração de um padrão do URL atual, clique na seta para baixo .
No campo Padrão de host, insira o domínio do padrão do URL. O app do Chat vai visualizar links para esse domínio.
Para que o app do Chat visualize links para um subdomínio específico, como
subdomain.example.com, inclua o subdomínio.Para que o app do Chat visualize links para todo o domínio, especifique um caractere curinga com um asterisco (*) como subdomínio. Por exemplo,
*.example.comcorresponde asubdomain.example.comeany.number.of.subdomains.example.com.No campo Prefixo do caminho, insira um caminho a ser anexado ao domínio do padrão de host.
Para corresponder a todos os URLs no domínio do padrão de host, deixe o Prefixo do caminho vazio.
Por exemplo, se o padrão de host for
support.example.com, para corresponder a URLs de casos hospedados emsupport.example.com/cases/, insiracases/.Clique em Concluído.
Clique em Salvar.
Agora, sempre que alguém incluir um link que corresponda a um padrão de URL de visualização de link em uma mensagem em um espaço do Chat que inclua seu app do Chat, seu app visualizará o link.
Visualizar um link
Depois de configurar a visualização de links para um determinado link, o app do Chat poderá reconhecer e visualizar o link anexando mais informações a ele.
Em espaços do Chat que incluem o
app do Chat, quando a mensagem de alguém contém um link que
corresponde a um padrão de URL de visualização de link, o app do Chat
recebe um
MESSAGE evento de interação. O payload JSON do evento de interação contém o campo matchedUrl:
JSON
message: {
matchedUrl: {
url: "https://support.example.com/cases/case123"
},
... // other message attributes redacted
}
Ao verificar a presença do campo matchedUrl no payload do evento MESSAGE, o app do Chat pode adicionar informações à mensagem com o link visualizado. O app do Chat pode responder com uma mensagem de texto básica ou anexar um card.
Responder com uma mensagem de texto
Para respostas básicas, o app do Chat pode visualizar um link respondendo com uma mensagem de texto simples a um link. Este exemplo anexa uma mensagem que repete o URL do link que corresponde a um padrão do URL de visualização de link.
Node.js
Python
Java
Apps Script
Anexar um card que visualiza o link
Para anexar um card a um link visualizado,
retorne um
ActionResponse
do tipo UPDATE_USER_MESSAGE_CARDS. Este exemplo anexa um card básico.

Node.js
Python
Java
Apps Script
Este exemplo envia uma mensagem de card retornando o JSON do card. Também é possível usar o serviço de card do Apps Script.
Atualizar um card de visualização de link
O app do Chat pode atualizar um card de visualização de link quando os usuários interagem com ele, como clicar em um botão no card.
Para atualizar o card, o app do Chat
precisa processar o CARD_CLICKED
evento de interação e retornar uma
actionResponse
com base em quem enviou a mensagem que contém a visualização do link:
- Se um usuário enviou a mensagem, defina
actionResponse.typecomoUPDATE_USER_MESSAGE_CARDS. - Se o app do Chat enviou a mensagem, defina
actionResponse.typecomoUPDATE_MESSAGE.
Para determinar quem enviou a mensagem, use o campo message.sender.type do evento de interação para conferir se o remetente era um usuário HUMAN ou BOT.
O exemplo a seguir mostra como um app do Chat atualiza uma visualização de link sempre que um usuário clica no botão Atribuir a mim atualizando o campo Responsável do card e desativando o botão.

Node.js
Python
Java
Apps Script
Este exemplo envia uma mensagem de card retornando o JSON do card. Também é possível usar o serviço de card do Apps Script.
Limites e considerações
Ao configurar visualizações de links para o app do Chat, observe estes limites e considerações:
- Cada app do Chat oferece suporte a visualizações de links para até cinco padrões de URL.
- Os apps do Chat visualizam um link por mensagem. Se houver vários links visualizáveis em uma única mensagem, apenas o primeiro link visualizável será visualizado.
- Os apps do Chat só visualizam links que começam com
https://, entãohttps://support.example.com/cases/é visualizado, massupport.example.com/cases/não. - A menos que a mensagem inclua outras informações que sejam enviadas ao app do Chat, como um comando de barra, apenas o URL do link será enviado ao app do Chat por visualizações de links.
- Se um usuário postar o link, um app do Chat só poderá atualizar o card de visualização de link se os usuários interagirem com o card, como com um clique em um botão. Não é possível chamar o método
update()da API Chat no recursoMessagepara atualizar a mensagem de um usuário de forma assíncrona. - Os apps do Chat precisam visualizar links para todos no espaço, então
a mensagem precisa omitir o
privateMessageViewercampo.
Depurar visualizações de links
Ao implementar visualizações de links, talvez seja necessário depurar o app do Chat lendo os registros do app. Para ler os registros, acesse a Análise de registros no console do Google Cloud.