Questa pagina fornisce le best practice per la creazione di esperienze RCS Business Messaging efficaci e coinvolgenti, che riguardano sia l'implementazione tecnica sia la progettazione conversazionale.
Linee guida tecniche
Controllare le funzionalità del dispositivo
Prima di iniziare una conversazione con un utente, verifica che il suo dispositivo possa ricevere messaggi RCS. Per identificare le funzionalità dell'utente, invia un controllo delle funzionalità, e adatta di conseguenza le interazioni del tuo agente. Interagisci con gli utenti solo nei modi supportati dai loro dispositivi. Se il dispositivo di un utente non è abilitato per RCS, configura un metodo di comunicazione di riserva con un altro canale, ad esempio gli SMS.
Rispettare le dimensioni massime dei messaggi
Esistono limiti per le dimensioni massime di un messaggio RCS for Business e del file multimediale che può contenere. Per maggiori dettagli, consulta Dimensioni massime dei messaggi.
Evitare l'invio di messaggi duplicati
Per evitare di inviare messaggi duplicati agli utenti, il tuo sistema deve prima confermare che un messaggio non è stato recapitato prima di tentare di eseguire il fallback agli SMS.
Segui queste best practice per migliorare l'affidabilità del tuo sistema ed evitare messaggi duplicati:
- Imposta la durata del pool di connessioni in modo che corrisponda al TTL (Time To Live) del DNS: utilizza i pool di connessioni e di oggetti client per riutilizzare le connessioni e gli oggetti client esistenti. Per evitare di utilizzare indirizzi IP obsoleti dopo gli aggiornamenti DNS, imposta il tempo massimo in cui una connessione o un oggetto rimane nel pool in modo che corrisponda al TTL del DNS dell'API.
- Non dare per scontato che il timeout della connessione significhi un errore: non dare per scontato che un timeout della connessione significhi che il messaggio RCS for Business non è stato recapitato. Il messaggio potrebbe essere ancora in fase di elaborazione sul lato server.
- Verifica le ricevute di consegna: controlla sempre le ricevute di consegna prima di attivare un messaggio di fallback.
- TTL corrispondente al timeout della connessione: quando possibile, imposta il TTL del messaggio in modo che corrisponda al timeout della connessione.
- Revoca i messaggi prima del fallback: tenta sempre di revocare il messaggio originale prima di inviare l' SMS di fallback. Se la revoca non riesce, gestisci l'errore, in quanto potrebbe indicare che il messaggio è già stato recapitato all'utente.
- Riprova a inviare i messaggi: se un messaggio non viene inviato a causa di un errore che può essere ritentato o di un
timeout della connessione, riprova a inviare l'operazione. Utilizza l'iniziale
messageIDper evitare duplicati e implementa un backoff esponenziale per distanziare i tentativi.
Controllare i messaggi in arrivo duplicati
Quando controlli e rispondi ai messaggi in arrivo dagli utenti, controlla l'messageId e verifica di non aver già ricevuto e risposto al messaggio.
Con i sistemi distribuiti, esistono due modi per inviare messaggi:
- Al massimo una volta: il sistema invia un messaggio una volta, ma se si verificano errori di rete o di comunicazione durante il percorso, il messaggio potrebbe non essere ricevuto.
- Almeno una volta: il sistema potrebbe inviare un messaggio più volte, ma il messaggio può essere ricevuto anche in caso di errori di rete o di comunicazione.
Google Cloud Pub/Sub utilizza il sistema almeno una volta. Sebbene ciò possa comportare la ricezione di messaggi in arrivo duplicati, è semplice rimuovere i duplicati dei messaggi monitorando le stringhe messageId. Se hai già ricevuto un messaggio, puoi ignorare in sicurezza eventuali messaggi aggiuntivi che ricevi con lo stesso messageId.
Utilizzare ID univoci per tutti i messaggi in uscita
Quando l'agente invia un messaggio all'utente, l'messageId incluso nella chiamata API deve essere univoco per ogni messaggio.
Per maggiori informazioni sulla ricezione dei messaggi, consulta Gestire gli eventi in arrivo.
Non utilizzare indirizzi IP obsoleti
Il tuo sistema deve sempre utilizzare l'indirizzo IP corretto e aggiornato quando si connette all'API RBM. Varie piattaforme di programmazione utilizzano timeout della cache DNS predefiniti che potrebbero essere significativamente più lunghi dell'impostazione TTL del DNS di Google, il che può causare il tentativo del sistema di connettersi a indirizzi IP scaduti, con conseguenti timeout. Il TTL della cache DNS del dominio RBM è di 300 secondi.
Per assicurarti che la logica di connessione rispetti il nostro TTL di 300 secondi, segui questi passaggi.
- Imposta il timeout del pool di connessioni in modo che corrisponda al TTL: se utilizzi un pool di connessioni o di oggetti client, imposta la durata massima su 300 secondi (o meno). In questo modo, il sistema recupera un nuovo indirizzo IP quando l'oggetto viene aggiornato.
- Assicurati che il DNS venga aggiornato: verifica che la piattaforma o la libreria client HTTP sia impostata per aggiornare la cache DNS ogni 300 secondi o meno.
- Controlla il TTL attuale: ti consigliamo di controllare a livello di programmazione il TTL del dominio dell'API RBM per assicurarti di utilizzare il valore massimo corretto. Devi controllare il dominio corrispondente alla regione di deployment:
dig +nocmd +noall +answer +ttlid A us-rcsbusinessmessaging.googleapis.com | sort
dig +nocmd +noall +answer +ttlid A asia-rcsbusinessmessaging.googleapis.com | sort
dig +nocmd +noall +answer +ttlid A europe-rcsbusinessmessaging.googleapis.com | sort
Implementare i nuovi tentativi con backoff esponenziale
Quando chiami un'API, è possibile che una chiamata non vada a buon fine a causa di problemi di infrastruttura, sovraccarico del servizio, limiti QPS e altri errori. Per ripristinare correttamente le chiamate API non riuscite, implementa i nuovi tentativi con backoff esponenziale.
Utilizzando i nuovi tentativi con backoff esponenziale, la tua infrastruttura esegue automaticamente le seguenti operazioni:
- Identifica una chiamata API non riuscita.
- Imposta la durata iniziale dell'attesa e il numero massimo di nuovi tentativi.
- Mette in pausa per la durata dell'attesa.
- Riprova a chiamare l'API.
Valuta la risposta della chiamata API:
- Se la chiamata va a buon fine, procede con il passaggio successivo del flusso di lavoro.
- Se la chiamata non va a buon fine, aumenta la durata dell'attesa e torna al passaggio 3.
- Se la chiamata non va a buon fine dopo il numero massimo di nuovi tentativi, entra in uno stato di errore.
Le durate di attesa ideali e il numero massimo ideale di nuovi tentativi variano in base al caso d'uso. Determina questi numeri in base ai requisiti di latenza dell'infrastruttura e del flusso di lavoro.
Ottimizzare le prestazioni dell'API con gli endpoint regionali
Per ottimizzare le prestazioni dell'API e migliorare la latenza:
Utilizza gli endpoint più vicini alla regione dell'utente.
La tabella seguente fornisce consigli sugli endpoint RBM regionali da utilizzare a seconda del prefisso del numero di telefono dell'utente.
Prefisso del numero di telefono Endpoint consigliato Area geografica +1 us-rcsbusinessmessaging.googleapis.com Americhe +2 europe-rcsbusinessmessaging.googleapis.com Europa +3 europe-rcsbusinessmessaging.googleapis.com Europa +4 europe-rcsbusinessmessaging.googleapis.com Europa +5 us-rcsbusinessmessaging.googleapis.com Americhe +6 asia-rcsbusinessmessaging.googleapis.com Asia +7 europe-rcsbusinessmessaging.googleapis.com Europa +8 asia-rcsbusinessmessaging.googleapis.com Asia +9 asia-rcsbusinessmessaging.googleapis.com Asia Predefinito us-rcsbusinessmessaging.googleapis.com Americhe Valuta la possibilità di posizionare i server vicino all'endpoint scelto.
Per i data center di Google, visita la pagina https://www.google.com/about/datacenters/locations/.
Per maggiori informazioni sull'identificazione della regione dell'agente, consulta la documentazione Creare un agente.
UI conversazionale ed esperienza utente
UI conversazionale, non UI dell'app
Gli agenti RCS for Business sono adatti a fornire agli utenti attività efficienti e specifiche in un'interfaccia utente conversazionale. Gli agenti meglio progettati mantengono le interazioni mirate, chiare da comprendere e strutturate come una conversazione naturale.
Gli agenti non possono fare affidamento sull'UI visiva di un'app o di una pagina web e non devono tentare di imitarla. Devono invece fare affidamento su conversazioni attentamente elaborate che soddisfino le esigenze degli utenti guidandoli con suggerimenti verbali, suggerimenti e una buona gestione degli errori.
Inoltre, gli agenti non devono imitare i menu telefonici o le interfacce che si basano sulle risposte degli utenti con un numero che rappresenta una determinata azione. Gli utenti devono essere in grado di comunicare con gli agenti in modo naturale, proprio come farebbero con un'altra persona in una conversazione.
Avviare una conversazione
L'inizio di una conversazione definisce le aspettative dell'utente in merito a ciò che un agente può fare. Inizia le conversazioni con una nota forte: mostra la personalità del tuo agente, fornisci in anticipo le informazioni che interessano ai tuoi utenti e condividi le funzionalità del tuo agente. Offri agli utenti opzioni chiare per interagire con il tuo agente e continuare la conversazione.
Mostra la personalità del tuo agente: imposta il tono salutando l'utente e presentando il tuo brand. Se crei una persona per l'agente, ad esempio un assistente virtuale o un concierge digitale, specifica chiaramente che si tratta di un chatbot e non di una persona reale. Puoi impostare il nome dell'agente in modo che corrisponda alla persona. Un avatar è un ottimo modo per rafforzare la tua immagine. Può essere il tuo logo, ma anche un personaggio grafico in stile cartone animato funziona bene.
Condividi le funzionalità del tuo agente: un buon messaggio di saluto indica chiaramente cosa offre la conversazione. Spiega le funzionalità dell'agente a un livello elevato. Include anche risposte suggerite e azioni per guidare gli utenti lungo percorsi specifici. Utilizza questi suggerimenti per aiutare gli utenti a navigare nella conversazione e a comprendere le attività in cui l'agente può fornire assistenza.
Scrivere messaggi chiari e coerenti
Invia messaggi che gli utenti possano comprendere e a cui possano rispondere facilmente. Crea un testo del messaggio che inviti gli utenti a rispondere. Mantieni uno stile, un formato e un ritmo coerenti per instaurare fiducia con gli utenti.
Quando crei il testo del messaggio, tieni presenti le seguenti best practice aggiuntive:
Non creare vicoli ciechi. Ogni messaggio deve portare a un passaggio successivo significativo.
- Se il percorso dell'utente prevede un'attività con più passaggi, utilizza i marcatori di discorso per guidare l'utente durante la procedura.
Ad esempio, Ora…, E…, Ok! Ecco qui…
- Sii conciso perché le risposte suggerite e le azioni possono contenere al massimo 25 caratteri.
- Se la conversazione include un trasferimento, un rapido riconoscimento può semplificare la transizione.
Ad esempio, "Ok. Il tuo account manager si occuperà di tutto."
Ad esempio, "Perfetto! Credo di sapere cosa stai cercando." e fornisci un link al tuo sito web.
Riconosci il messaggio dell'utente con una parola o una frase di riconoscimento.
Ad esempio, "Ottima scelta!", "Ok", "Va bene" o "Ok".
Rivolgiti direttamente all'utente utilizzando il suo nome (se lo conosci) o il pronome "tu". Evita di fare riferimento all'utente come "io" o "me", in quanto può creare confusione.
Per titoli ed etichette, utilizza la maiuscola solo per la prima lettera, non per tutte.
Ad esempio, "Estratto conto", non "Estratto Conto".
Utilizza le contrazioni, che sono appropriate anche per gli agenti con un tono serio o elevato.
Ad esempio, "it's" è più colloquiale di "it is".
Utilizza i punti esclamativi con parsimonia.
Utilizza la virgola seriale, ovvero "A, B e C", non "A, B e C".
Scrivi i numeri come cifre.
Ad esempio, "1, 2, 3", non "uno, due, tre".
Quando utilizzi le emoji, assicurati che un tono giocoso sia adatto al caso d'uso.
Ad esempio, gli utenti che prenotano un carro attrezzi o cercano i risultati dei test sanitari potrebbero non essere dell'umore giusto.
Mantenere i messaggi in ordine
Se invii più messaggi in sequenza, è importante che gli utenti li ricevano in ordine. L'elaborazione dei messaggi con contenuti multimediali richiede più tempo rispetto a quelli di solo testo. Per assicurarti che gli utenti ricevano i messaggi nell'ordine corretto, attendi di ricevere una risposta 200 OK per un messaggio prima di inviare il successivo nella sequenza.
Creare conversazioni coinvolgenti con risposte e azioni suggerite
Le risposte suggerite e le azioni sono strumenti potenti per guidare e migliorare le conversazioni degli utenti. Possono seguire un messaggio o una scheda interattiva e offrire opzioni per continuare o cambiare l'argomento della conversazione.
Risposte suggerite: aiutano gli utenti a rispondere rapidamente al tuo agente fornendo opzioni predefinite. Utilizza le risposte suggerite quando possibile, soprattutto quando sono previste risposte specifiche.
Azioni suggerite: consentono all'agente di integrarsi con le funzionalità del dispositivo, semplificando attività come chiamare l'assistenza o trovare le località.
Tieni presenti queste considerazioni chiave per creare conversazioni più coinvolgenti ed efficienti:
- Pertinenza: assicurati che i suggerimenti siano in linea con la conversazione corrente.
- Concisione: limita il numero di suggerimenti per evitare di sopraffare gli utenti.
- Chiarezza: utilizza un linguaggio chiaro e conciso per il testo del suggerimento.
Aiutare l'utente
L'agente deve rispondere ai messaggi HELP degli utenti e informarli sulle sue funzionalità. Un elenco di risposte suggerite adattate alle funzionalità dell'agente può trasformare un'esperienza utente scadente in un'esperienza utile.
Assicurarsi che il logo e l'immagine hero vengano visualizzati correttamente
- Lascia spazio sufficiente intorno al logo per consentire il ritaglio e mantenere l'integrità visiva.
- Evita di allungare o distorcere il logo o l'immagine hero, in quanto ciò può influire negativamente sulla percezione del brand.
- Testa il logo e l'immagine hero in modalità Luce e Buio per una visibilità e un'estetica ottimali.
Per ulteriori risorse che ti aiutano a progettare il tuo logo o a risolvere i problemi, consulta le linee guida per la progettazione del logo.
Logo
- Progetta tenendo presente il rendering quadrato arrotondato. I loghi RCS for Business vengono visualizzati come "quadrati arrotondati" nell'elenco delle conversazioni, nella schermata della conversazione e nei dettagli della conversazione per essere in linea con gli standard di Google e del settore.
- Centra il logo all'interno dell'immagine per assicurarti che gli elementi del brand rimangano chiari dopo il ritaglio.
- Gli agenti verificati mostreranno automaticamente un segno di spunta di verifica accanto al nome dell'agente. Questo segno è protetto contro l'imitazione e non può essere aggiunto manualmente.
- Per i loghi con sfondi trasparenti, assicurati che il contrasto sia sufficiente sia con gli sfondi chiari sia con quelli scuri per adattarsi alla modalità Buio. In caso di dubbi, utilizza uno sfondo bianco in tinta unita.
Immagine hero
- Utilizza le proporzioni 45:14 per evitare ritagli indesiderati.
Quando progetti l'immagine hero, tieni presente la sovrapposizione del logo, in modo che gli elementi chiave non siano oscurati.
Rispettare la scelta degli utenti di non ricevere messaggi
Mantenere la fiducia degli utenti significa rispettare le loro preferenze di comunicazione. Quando un utente indica che non vuole più ricevere messaggi, l'agente deve rispettare la sua scelta. Ciò include la comprensione e la risposta appropriata a varie espressioni di disattivazione, ad esempio "STOP", in tutte le lingue pertinenti.
Consulta le normative e le best practice del paese in cui operi per sapere come rispondere al messaggio "STOP" e ad altri comandi obbligatori.
Ad esempio, consulta le CTIA CTIA.
Gestire gli eventi di annullamento e riattivazione dell'abbonamento
Messaggi di Google offre le funzionalità integrate Annulla abbonamento e Abbonati , che consentono agli utenti di controllare le proprie conversazioni. Quando un utente sceglie di annullare l'abbonamento, l'agente riceve un evento webhook UNSUBSCRIBE. Un evento SUBSCRIBE indica l'intenzione di un utente di interagire di nuovo con il tuo agente.
Per informazioni dettagliate sulla gestione degli eventi di annullamento dell'iscrizione e riattivazione dell'abbonamento , inclusi i dettagli del payload, le regole aziendali e gli esempi, consulta la documentazione sugli eventi generati dagli utenti.
Gestire le disattivazioni
La piattaforma RCS for Business non fornisce un modo diretto per gestire gli elenchi di disattivazione degli utenti. È tua responsabilità gestire il tuo database di utenti che hanno scelto di non ricevere più messaggi tramite l'annullamento dell'abbonamento o altre forme di disattivazione.
Riprendere le conversazioni
Se un utente elimina la conversazione con il tuo agente, deve riavviare il contatto tramite un altro canale, ad esempio l'attivazione sul sito web, il codice breve SMS o un altro meccanismo di consenso. Questa nuova interazione indica il suo rinnovato interesse a ricevere messaggi.