Para evitar a mudança de contexto quando os usuários compartilham um link no Google Chat, seu app do Chat pode visualizar o link anexando um card à mensagem, que oferece mais informações e permite que as pessoas realizem ações diretamente no Google Chat.
Por exemplo, imagine um espaço do Google Chat que inclui todos os agentes de atendimento ao cliente de uma empresa e um app de chat chamado Case-y. Os agentes compartilham links de casos de atendimento ao cliente no espaço de chat com frequência. 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, ele precisará abrir o link.
A visualização de links permite que o app de chat residente do espaço, Case-y, anexe um card mostrando o atribuído, o status e o assunto sempre que alguém compartilhar um link de caso. Os botões no card permitem que os agentes assumam a propriedade do caso e mudem o status diretamente na transmissão do chat.
Como a visualização de link funciona
Quando alguém adiciona um link à mensagem, um ícone aparece para informar que um app de chat pode mostrar uma prévia do link.
Depois de enviar a mensagem, o link é enviado ao app Chat, que gera e anexa o card à mensagem do usuário.
Além do link, o card oferece mais informações sobre ele, incluindo elementos interativos, como botões. O app Chat pode atualizar o card anexado em resposta a interações do usuário, como cliques em botões.
Se alguém não quiser que o app Chat mostre uma prévia do link anexando um card à mensagem, é possível impedir a visualização clicando em
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 de chat interativo 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 de chat interativo 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 de chat interativo 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 do Chat interativo 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 Chat no console do Google Cloud para que
ele possa mostrar uma prévia deles.
- Abra o Console do Google Cloud.
- Ao lado de "Google Cloud", clique na seta para baixo e abra o projeto do app de chat.
- No campo de pesquisa, digite
Google Chat API
e clique em API Google Chat. - Clique em Gerenciar > Configuração.
- Em "Visualizações de link", adicione ou edite um padrão de URL.
- Para configurar as visualizações de link de um novo padrão de URL, clique em Adicionar padrão de URL.
- Para editar a configuração de um padrão de URL, clique na seta para baixo .
No campo Padrão de host, insira o domínio do padrão de URL. O app do Chat vai mostrar uma prévia dos links para este domínio.
Para que o app do Chat mostre links de visualização para um subdomínio específico, como
subdomain.example.com
, inclua o subdomínio.Para que o app de chat mostre links de visualização para todo o domínio, especifique um caractere curinga com um asterisco (*) como subdomínio. Por exemplo,
*.example.com
corresponde asubdomain.example.com
eany.number.of.subdomains.example.com
.No campo Prefixo do caminho, insira um caminho para anexar ao domínio do padrão do host.
Para corresponder a todos os URLs no domínio do padrão do host, deixe o Prefixo do caminho em branco.
Por exemplo, se o padrão do host for
support.example.com
, para corresponder aos URLs dos 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 Chat, o link será mostrado na prévia.
Visualizar um link
Depois de configurar a visualização de link para um determinado link, o app de chat poderá reconhecer e visualizar o link anexando mais informações a ele.
Nos espaços do Chat que incluem seu
app 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 Chat
recebe um
evento de interação MESSAGE
. O payload
JSON para o 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 de chat pode adicionar informações à
mensagem com o link de visualização. 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 de chat pode mostrar uma prévia de um link respondendo com uma mensagem de texto simples para um link. Este exemplo anexa uma mensagem que repete o URL do link que corresponde a um padrão de URL de visualização de link.
Node.js
Python
Java
Apps Script
Anexar um card com a prévia do 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 cartão retornando o JSON do cartão. Também é possível usar o serviço de cards do Apps Script.
Atualizar um card de visualização de link
O app de 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 evento de interação CARD_CLICKED
e retornar um
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.type
comoUPDATE_USER_MESSAGE_CARDS
. - Se o app do Chat enviou a mensagem, defina o
actionResponse.type
comoUPDATE_MESSAGE
.
Para determinar quem enviou a mensagem, use o campo message.sender.type
do evento de interação para saber se o remetente era um usuário HUMAN
ou BOT
.
O exemplo a seguir mostra como um app de chat atualiza uma visualização de link sempre que um usuário clica no botão Atribuir a mim, atualiza o campo Assignee do card e desativa o botão.
Node.js
Python
Java
Apps Script
Este exemplo envia uma mensagem de cartão retornando o JSON do cartão. Também é possível usar o serviço de cards do Apps Script.
Limites e considerações
Ao configurar as prévias de links no seu app Chat, observe estes limites e considerações:
- Cada app de chat oferece suporte a prévias de link para até cinco padrões de URL.
- Os apps de chat mostram uma prévia de um link por mensagem. Se vários links com visualização estiverem presentes em uma única mensagem, apenas o primeiro será visualizado.
- Os apps de chat só mostram uma prévia de links que começam com
https://
, entãohttps://support.example.com/cases/
mostra uma prévia, massupport.example.com/cases/
não. - A menos que a mensagem inclua outras informações enviadas ao app Chat, como um comando de barra, apenas o URL do link é enviado ao app Chat pelas prévias de link.
- 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 ele, como clicando em um
botão. Não é possível chamar o método
update()
da API Chat no recursoMessage
para atualizar a mensagem de um usuário de forma assíncrona. - Os apps de chat precisam mostrar prévias de links para todos no espaço. Portanto, a mensagem precisa omitir o campo
privateMessageViewer
.
Depurar prévias de links
Ao implementar as visualizações de link, talvez seja necessário depurar o app Chat lendo os registros dele. Para ler os registros, acesse o Explorador de registros no console do Google Cloud.