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 prévia do link permite que o app do Chat do espaço, Case-y, anexe um cartão que mostre o cessionário, o status e o assunto sempre que alguém compartilhar um link de caso. Os botões no cartão permitem que os agentes assumam a propriedade do caso e mudem o status diretamente no stream do chat.
Como funciona a visualização de link
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 para o app do Chat, que gera e anexa o cartão à 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 uma pessoa não quiser que o app do Chat visualize o link anexando um card à mensagem, ela poderá impedir a visualização clicando em
no ícone de visualização. Os usuários podem remover o cartão anexado a qualquer momento clicando em Remover visualização.Pré-requisitos
Node.js
Um app do Google Chat com recursos interativos ativados. 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 tenha recursos interativos ativados. 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 tenha recursos interativos ativados. 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 tenha recursos interativos ativados. 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 seu app de 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 atual, clique na seta para baixo .
No campo Padrão de host, insira o domínio do padrão de URL. O app de chat vai mostrar uma prévia dos links para esse domínio.
Se quiser que os links de visualização do app do Chat 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, o link será mostrado na prévia.
Visualizar um link
Depois de configurar a visualização de links 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 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
recebe um
evento de interação MESSAGE
. 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
, seu 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 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
Anexe um card que visualize 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
Neste exemplo, uma mensagem de cartão é enviada 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
Neste exemplo, uma mensagem de cartão é enviada 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 do Chat é compatível com visualizações de links de até cinco padrões de URL.
- Os apps de chat mostram uma prévia de um link por mensagem. Se vários links visualizáveis estiverem presentes em uma única mensagem, somente o primeiro será visualizado.
- Os apps de chat só mostram 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 visualizações 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 links, talvez seja necessário depurar o app do Chat lendo os registros dele. Para ler os registros, acesse o Explorador de registros no console do Google Cloud.