Per impedire il cambio di contesto quando gli utenti condividono un link in Google Chat, la tua app Chat può visualizzare l'anteprima del link allegando una scheda al loro messaggio che fornisce ulteriori informazioni e consente alle persone di intraprendere un'azione direttamente da Google Chat.
Ad esempio, immagina uno spazio di Google Chat che include tutti gli agenti dell'assistenza clienti di un'azienda e un'app di chat di nome Case-y. Gli agenti condividono spesso link alle richieste di assistenza clienti nello spazio di Chat e ogni volta che fanno i loro colleghi devono aprire il link della richiesta per visualizzare dettagli come l'assegnatario, lo stato e l'oggetto. Allo stesso modo, se qualcuno vuole acquisire la proprietà di una richiesta o modificarne lo stato, dovrà aprire il link.
L'anteprima dei link consente all'app Chat che risiede nello spazio, Case-y, di allegare una scheda che mostra l'assegnatario, lo stato e l'oggetto ogni volta che qualcuno condivide il link a una richiesta. I pulsanti sulla 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 qualcuno aggiunge un link al messaggio, viene visualizzato un chip che la informa che un'app di chat potrebbe visualizzare l'anteprima del link.
Dopo l'invio del messaggio, il link viene inviato all'app Chat, che genera e allega la scheda al messaggio dell'utente.
Oltre 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, ad esempio ai clic sui pulsanti.
Se qualcuno non vuole che l'app Chat mostri l'anteprima del link allegando una scheda al messaggio, può impedire la visualizzazione dell'anteprima facendo clic sulla
nel chip di anteprima. Gli utenti possono rimuovere la scheda allegata in qualsiasi momento facendo clic su Rimuovi anteprima.Configura anteprime 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 Chat possa visualizzarne l'anteprima.
- Apri la console Google Cloud.
- Accanto a "Google Cloud", fai clic sulla Freccia giù e apri il progetto dell'app 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, come
subdomain.example.com
, includi il sottodominio.Per fare in modo che i link di anteprima dell'app Chat siano disponibili 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 una corrispondenza per 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 per i casi ospitati insupport.example.com/cases/
.Fai clic su Fine.
Fai clic su Salva.
D'ora in poi, ogni volta che qualcuno 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 visualizza l'anteprima del link.
Visualizzare l'anteprima di un link
Dopo aver configurato l'anteprima di un link, l'app Chat può riconoscere e visualizzare l'anteprima del link allegando ulteriori informazioni al link.
All'interno degli spazi di Chat che includono la tua app Chat, se il messaggio di un utente contiene un link che corrisponde a un pattern URL di anteprima del link, l'app di Chat riceve un evento di interazione MESSAGE
. Il payload JSON 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
}
Se verifichi la presenza del campo matchedUrl
nel payload dell'evento MESSAGE
, la tua app di Chat può aggiungere informazioni al messaggio con il link in anteprima. L'app Chat può rispondere con un semplice messaggio di testo o allegare una scheda.
Rispondi con un SMS
Per risposte semplici, l'app Chat può visualizzare l'anteprima di un link rispondendo con un semplice messaggio di testo a un link. In questo esempio viene allegato un messaggio che ripete l'URL del link che corrisponde a un pattern URL di anteprima del link.
Node.js
Apps Script
Allega una carta
Per allegare una scheda a un link in anteprima,
restituisci una
ActionResponse
di tipo UPDATE_USER_MESSAGE_CARDS
. In questo esempio è allegata una scheda semplice.
Node.js
Apps Script
Aggiornare una carta
Per aggiornare la scheda allegata a un link in anteprima, restituisci una ActionResponse
di tipo UPDATE_USER_MESSAGE_CARDS
. Le app di chat possono aggiornare solo le schede che visualizzano l'anteprima dei link in risposta a un evento di interazione con l'app Chat.
Le app di chat non possono aggiornare queste schede chiamando l'API Chat in modo asincrono.
L'anteprima dei 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 garantire 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 un elemento actionMethodName
personalizzato come parte 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
per gestire correttamente gli eventi di interazione CARD_CLICKED
nelle schede in anteprima, imposta un valore actionMethodName
personalizzato come parte della proprietà onclick
della scheda associata:
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 una actionMethodName
corrispondente:
Node.js
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
Un motivo tipico per aggiornare una scheda è il clic su un pulsante. Richiama 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 ha fatto clic su Assegna a me. L'esempio imposta in modo dinamico ActionResponse
controllando il tipo di mittente.
Esempio completo: Case-y, l'app di 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
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.
- Le app di chat mostrano solo i link di anteprima che iniziano con
https://
, pertantohttps://support.example.com/cases/
visualizza l'anteprima, ma nonsupport.example.com/cases/
. - A meno che il messaggio non includa altre informazioni che vengono 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 una
ActionResponse
di tipoUPDATE_USER_MESSAGE_CARDS
e solo in risposta a un evento di interazione con l'app Chat. Le anteprime dei link non supportanoUPDATE_MESSAGE
o richieste asincrone di aggiornamento delle schede collegate a un link in anteprima tramite l'API Chat. Per ulteriori informazioni, consulta Aggiornare una carta.
Anteprime dei link di debug
Quando implementi le anteprime dei link, potresti dover eseguire il debug dell'app Chat leggendo i log dell'app. Per leggere i log, visita Esplora log nella console Google Cloud.