Per impedire il cambio di contesto quando gli utenti condividono un link in Google Chat, l'app Chat può visualizzare l'anteprima del link allegando al messaggio una scheda che fornisce maggiori informazioni e consente agli utenti di eseguire azioni direttamente da Google Chat.
Ad esempio, immagina uno spazio di Google Chat che includa tutti gli agenti dell'assistenza clienti di un'azienda più un'app di Chat chiamata Case-y. Gli agenti condividono spesso i link alle richieste di assistenza clienti nello spazio di Chat e, ogni volta che lo fanno, i colleghi devono aprire il link della richiesta per visualizzare dettagli come l'assegnatario, lo stato e l'oggetto. Allo stesso modo, se qualcuno vuole prendere in carico una richiesta o modificare lo stato, deve aprire il link.
L'anteprima del link consente all'app Chat residente dello spazio, Case-y, di allegare una scheda che mostra l'assegnatario, lo stato e l'oggetto ogni volta che qualcuno condivide il link di una richiesta. I pulsanti della scheda consentono agli agenti di prendere in carico la richiesta e modificare lo stato direttamente dallo stream della chat.
Come funziona l'anteprima dei link
Quando una persona aggiunge un link al suo messaggio, viene visualizzato un chip che comunica che un'app di Chat potrebbe visualizzare l'anteprima del link.
Una volta inviato il messaggio, il link viene inviato all'app Chat, che genera e allega la scheda al messaggio dell'utente.
Insieme al link, la scheda fornisce informazioni aggiuntive sul link, inclusi elementi interattivi come i pulsanti. L'app Chat può aggiornare la scheda allegata in risposta alle interazioni degli utenti, come i clic sui pulsanti.
Se una persona non vuole che l'app Chat visualizzi l'anteprima del link allegando una scheda al messaggio, può impedirne la visualizzazione facendo clic su
nel chip di anteprima. Gli utenti possono rimuovere la scheda allegata in qualsiasi momento facendo clic su Rimuovi anteprima.Prerequisiti
Node.js
Un'app di Google Chat abilitata per le funzionalità interattive. Per creare un un'app di chat interattiva utilizzando un servizio HTTP, completa questa guida rapida.
Apps Script
Un'app di Google Chat abilitata per le funzionalità interattive. Per creare un app di Chat interattiva in Apps Script, completa questa guida rapida.
Configura le anteprime dei link
Registra link specifici, come example.com
, support.example.com
e support.example.com/cases/
, come pattern URL nella pagina di configurazione dell'app di chat nella console Google Cloud in modo che l'app di Chat possa visualizzarli in anteprima.
- Apri la console Google Cloud.
- Accanto a "Google Cloud", fai clic sulla Freccia giù e apri il progetto dell'app di Chat.
- Nel campo di ricerca, digita
Google Chat API
e fai clic su API Google Chat. - Fai clic su Gestisci > Configurazione.
- In Anteprime link, aggiungi o modifica un pattern URL.
- Per configurare le anteprime dei link per un nuovo pattern URL, fai clic su Aggiungi pattern URL.
- Per modificare la configurazione di un pattern URL esistente, fai clic sulla Freccia giù .
Nel campo Pattern host, inserisci il dominio del pattern URL. L'app Chat mostrerà l'anteprima dei link a questo dominio.
Per fare in modo che i link di anteprima dell'app Chat per un sottodominio specifico, ad esempio
subdomain.example.com
, siano inclusi, includi il sottodominio.Per fare in modo che l'app Chat visualizzi i link di anteprima per l'intero dominio, specifica un carattere jolly con un asterisco (*) come sottodominio. Ad esempio,
*.example.com
corrisponde asubdomain.example.com
eany.number.of.subdomains.example.com
.Nel campo Prefisso percorso, inserisci un percorso da aggiungere al dominio del pattern host.
Per trovare corrispondenze di tutti gli URL nel dominio del pattern host, lascia vuoto il campo Prefisso percorso.
Ad esempio, se il pattern host è
support.example.com
, inseriscicases/
per trovare corrispondenze con gli URL delle richieste ospitate insupport.example.com/cases/
.Fai clic su Fine.
Fai clic su Salva.
Ora, ogni volta che un utente include un link che corrisponde a un pattern URL di anteprima del link a un messaggio in uno spazio di Chat che include la tua app Chat, l'app mostra l'anteprima del link.
Visualizzare l'anteprima di un link
Dopo aver configurato l'anteprima del link per un determinato collegamento, L'app Chat può riconoscere e visualizzare l'anteprima del link allegandovi ulteriori informazioni.
All'interno degli spazi di Chat che includono
Chat, quando un messaggio di qualcuno contiene un link che
corrisponde a un pattern URL di anteprima del link, la tua app Chat
riceve un
Evento di interazione MESSAGE
. Il file JSON
Il payload per l'evento di interazione contiene il campo matchedUrl
:
JSON
"message": {
. . . // other message attributes redacted
"matchedUrl": {
"url": "https://support.example.com/cases/case123"
},
. . . // other message attributes redacted
}
Verificando la presenza del campo matchedUrl
nell'evento MESSAGE
payload, l'app Chat può aggiungere informazioni
con il link visualizzato in anteprima. L'app Chat può
rispondi con un semplice messaggio o allega un biglietto.
Rispondi con un messaggio
Per risposte semplici, l'app Chat può visualizzare l'anteprima di un link rispondendo con un semplice messaggio a un link. Questo esempio allega un messaggio che ripete l'URL del link corrisponde a un pattern URL di anteprima del link.
Node.js
Apps Script
Allega una carta
Per allegare una scheda a un link visualizzato in anteprima:
restituisce un
ActionResponse
:
di tipo UPDATE_USER_MESSAGE_CARDS
. In questo esempio viene allegata una scheda semplice.
Node.js
Apps Script
Questo esempio invia un messaggio di una scheda restituendo JSON card. Puoi utilizzare anche Servizio di schede Apps Script.
Aggiornare una carta
Per aggiornare la scheda allegata a un link in anteprima, restituisci
ActionResponse
di tipo UPDATE_USER_MESSAGE_CARDS
. Le app di chat possono solo aggiornarsi
schede che mostrano l'anteprima dei link in risposta a una
Evento di interazione con l'app di Chat.
Le app di chat non possono aggiornare queste schede chiamando l'API Chat
in modo asincrono.
La visualizzazione dell'anteprima del link non supporta la restituzione di un elemento ActionResponse
di tipo UPDATE_MESSAGE
. Poiché UPDATE_MESSAGE
aggiorna l'intero messaggio anziché solo la scheda, funziona solo se l'app Chat ha creato il messaggio originale. L'anteprima del link allega una scheda a un messaggio creato dall'utente, quindi l'app Chat non dispone dell'autorizzazione per aggiornarla.
Per assicurarti che una funzione aggiorni le schede create dall'utente e dall'app nello stream di Chat, imposta in modo dinamico la ActionResponse
a seconda che il messaggio sia stato creato dall'app Chat o da un utente.
- Se il messaggio è stato creato da un utente, imposta
ActionResponse
suUPDATE_USER_MESSAGE_CARDS
. - Se il messaggio è stato creato da un'app di Chat, imposta
ActionResponse
suUPDATE_MESSAGE
.
Puoi farlo in due modi: specificando e verificando la presenza di un actionMethodName
personalizzato all'interno della proprietà onclick
della scheda allegata (che identifica il messaggio come creato dall'utente) oppure verificando se il messaggio è stato creato da un utente.
Opzione 1: cerca actionMethodName
Per utilizzare actionMethodName
in modo da gestire correttamente gli eventi di interazione CARD_CLICKED
nelle schede visualizzate in anteprima, imposta un valore actionMethodName
personalizzato come parte della proprietà onclick
della scheda allegata:
JSON
. . . // Preview card details
{
"textButton": {
"text": "ASSIGN TO ME",
"onClick": {
// actionMethodName identifies the button to help determine the
// appropriate ActionResponse.
"action": {
"actionMethodName": "assign",
}
}
}
}
. . . // Preview card details
Se "actionMethodName": "assign"
identifica il pulsante come parte dell'anteprima di un link, è possibile restituire in modo dinamico il valore ActionResponse
corretto verificando la corrispondenza di actionMethodName
:
Node.js
Apps Script
Questo esempio invia un messaggio di una scheda restituendo JSON card. Puoi utilizzare anche Servizio di schede Apps Script.
Opzione 2: controlla il tipo di mittente
Controlla se message.sender.type
è HUMAN
o BOT
. Se HUMAN
, imposta ActionResponse
su UPDATE_USER_MESSAGE_CARDS
, altrimenti imposta ActionResponse
su UPDATE_MESSAGE
. Ecco come:
Node.js
Apps Script
Questo esempio invia un messaggio di una scheda restituendo JSON card. Puoi utilizzare anche Servizio di schede Apps Script.
Un motivo tipico per aggiornare una scheda è la risposta al clic su un pulsante. Ricorda il pulsante Assegna a me della sezione precedente, Allega una scheda. Il seguente esempio completo aggiorna la scheda in modo che sia assegnata a "Tu" Dopo che un utente fa clic su Assegna a me. L'esempio imposta in modo dinamico ActionResponse
controllando il tipo di mittente.
Esempio completo: Case-y, l'app Chat dell'assistenza clienti
Ecco il codice completo per Case-y, un'app di Chat che mostra in anteprima i link alle richieste condivise in uno spazio di Chat in cui collaborano gli agenti dell'assistenza clienti.
Node.js
Apps Script
Questo esempio invia un messaggio di una scheda restituendo JSON card. Puoi utilizzare anche Servizio di schede Apps Script.
Limiti e considerazioni
Quando configuri le anteprime dei link per l'app Chat, tieni presente questi limiti e considerazioni:
- Ogni app di Chat supporta le anteprime dei link per un massimo di 5 pattern URL.
- Le app di chat visualizzano l'anteprima di un link per messaggio. Se in un singolo messaggio sono presenti più link visualizzabili in anteprima, viene visualizzato in anteprima solo il primo link visualizzabile in anteprima.
- Le app di chat mostrano in anteprima solo i link che iniziano con
https://
, quindihttps://support.example.com/cases/
mostra l'anteprima, ma nonsupport.example.com/cases/
. - A meno che il messaggio non includa altre informazioni inviate all'app Chat, ad esempio un comando slash, solo l'URL del link viene inviato all'app Chat tramite le anteprime del link.
- Le schede allegate ai link in anteprima supportano solo un elemento
ActionResponse
di tipoUPDATE_USER_MESSAGE_CARDS
e solo in risposta a un evento di interazione con l'app Chat. Le anteprime link non supportanoUPDATE_MESSAGE
o le richieste asincrone di aggiornamento delle schede allegate a un link in anteprima tramite l'API Chat. Per scoprire di più, consulta Aggiornare una carta. - Le app di chat devono visualizzare l'anteprima dei link per tutti gli utenti nello spazio, quindi
il messaggio deve omettere
privateMessageViewer
.
Anteprime dei link di debug
Durante l'implementazione delle anteprime dei link, potresti dover eseguire il debug dell'app Chat leggendo i log dell'app. Per leggere i log, vai a Esplora log nella console Google Cloud.