Estensioni della chat


Le estensioni della chat consentono ai bot di fornire funzioni interattive e social che gli utenti possono richiamare direttamente nelle loro conversazioni.
CONTENUTI
  1. Panoramica
  2. Configurazione del punto di ingresso dell'interfaccia a cassetti
  3. Condivisione
  4. Acquisizione dell'ID utente e del contesto della conversazione
  5. Gestione delle autorizzazioni
  6. Suggerimenti e best practice
  7. FAQ e risoluzione dei problemi

Panoramica

Modello di interazione

Le estensioni della chat sono presenti nell'interfaccia a cassetti del composer su Messenger, dopo che l'utente ha interagito con il bot correlato.

Quando l'utente tocca l'icona dell'estensione della chat, si apre un'interfaccia utente basata sulla visualizzazione Web specificata dallo sviluppatore. A questo punto, l'utente può creare o selezionare contenuti da condividere nella conversazione. Il messaggio condiviso nella conversazione può contenere immagini, link e molto altro.

Quando gli utenti del gruppo interagiscono con i messaggi condivisi in questo modo, lo sviluppatore ottiene l'accesso alle informazioni contestuali sulla conversazione, con la possibilità di richiedere autorizzazioni e di usare le altre funzionalità offerte dall'SDK JavaScript per le estensioni di Messenger.

Casi d'uso possibili

  • Espressione: crea adesivi o meme direttamente su Messenger. Condividi brani musicali, video o altri contenuti.
  • Contenuti multimediali: invia al gruppo le notizie sugli argomenti che segui in tempo reale.
  • Commercio: ordini e pianificazione di gruppo.
  • Produttività: invia aggiornamenti sui sistemi di monitoraggio delle attività, modifica un documento in collaborazione con altri.
  • Intrattenimento: crea giochi o sfide di gruppo.

Esempio di progetto

Abbiamo reso open source TaskBot, un bot che presenta tutte le funzioni descritte qui.


Prova su Messenger →Repository di GitHub →

Configurazione del punto di ingresso dell'interfaccia a cassetti

Per consentire al tuo bot di essere presente nell'interfaccia a cassetti per gli utenti che l'hanno aggiunto, devi impostare l'URL principale.

Se l'estensione della chat non è pronta al lancio, imposta in_test su true per evitare che venga mostrata ad altri utenti rispetto agli sviluppatori finché non è pronta.

Scopri di più →

Condivisione

La Piattaforma Messenger supporta la condivisione personalizzata dalla visualizzazione Web, che consente agli sviluppatori di fornire un messaggio e una destinazione personalizzati per i messaggi condivisi dal bot.

Sono state apportate varie migliorie alle funzioni, per renderle compatibili con le estensioni della chat. Cose da sapere:

Condivisione nella conversazione corrente

La funzione beginShareFlow() contiene un parametro mode che ora supporta la modalità current_thread. Ciò consente all'utente di effettuare la condivisione nella conversazione richiamata dall'estensione della chat, anziché doverne selezionare un'altra. La maggior parte degli sviluppatori deve scegliere la modalità current_thread per la parte interna dell'estensione stessa.

In alcune situazioni, potrebbe essere consigliabile controllare se la modalità è supportata dalla versione di Messenger in uso da parte dell'utente. Per sicurezza, usa il metodo getSupportedFeatures() e controlla la chiave "sharing_direct".

Cosa fare in caso di condivisione

La callback success per beginShareFlow() viene chiamata indipendentemente dal fatto che l'utente confermi o annulli la condivisione, a condizione che non si siano verificati errori.

Ora Messenger trasmette il campo is_sent in risposta alla callback success, informandoti sullo stato di invio di un messaggio.

Dopo che l'utente ha effettuato una condivisione, è consigliabile chiudere la finestra se l'operazione è terminata o indirizzare l'utente alla parte successiva del flusso.

<script> 
    var messageToShare = { ... };
      
    MessengerExtensions.beginShareFlow(function success(response) {
      if(response.is_sent === true){ 
      	// User shared. We're done here!
      	MessengerExtensions.requestCloseBrowser();
      }
      else{
      	// User canceled their share! 
      
      }
    }, 
    function error(errorCode, errorMessage) {      
  	// An error occurred trying to share!
    },
    messageToShare,
    "current_thread");   
</script>

Per informazioni più specifiche, consulta la documentazione di beginShareFlow().

Scopri di più →

Acquisizione dell'ID utente e del contesto della conversazione

Chiama la funzione getContext() per ottenere:

  • l'ID utente (PSID);
  • l'ID della conversazione;
  • il tipo di conversazione.

Questa funzione è disponibile per tutti gli utenti che accedono alla visualizzazione Web, indipendentemente dalla presenza di una conversazione aperta con il bot.

Tieni presente che l'acquisizione dell'ID utente tramite questo metodo non implica la possibilità di acquisire il profilo dell'utente. A tale scopo, ti serve l'autorizzazione per il profilo.


Scopri di più →

Gestione delle autorizzazioni

Quando un utente inizia una conversazione con il tuo bot, ottieni automaticamente l'autorizzazione a scambiare messaggi con l'utente stesso, nonché accedere al suo profilo. Tali autorizzazioni vengono revocate per gli utenti che bloccano il bot o che eliminano la conversazione.

Per gli utenti che interagiscono con il tuo bot tramite la visualizzazione Web ma che non hanno iniziato una conversazione con esso, potrebbe essere necessario richiedere tali autorizzazioni. A tale scopo, usa le funzioni per le autorizzazioni disponibili nell'SDK JavaScript per le estensioni di Messenger.

Scopri di più →

Suggerimenti e best practice

La Piattaforma Messenger include best practice consigliate per la creazione di estensioni della chat di alta qualità, tra cui:

  • Approccio generale
  • Come usare le varie modalità di condivisione
  • Come controllare Chrome per ottenere i risultati migliori nella visualizzazione Web
  • Come garantire la retrocompatibilità
Scopri di più →

Design Kit

È tutto pronto per configurare la tua estensione della chat? Scopri l'utilissimo file Sketch, che contiene tutti i componenti che ti servono!

Ottieni il kit →

FAQ e risoluzione dei problemi

D: Devo avere un bot per sviluppare un'estensione della chat?

R: Sì. Le estensioni della chat sono di fatto estensioni dei bot.

D: Qual è la condizione affinché l'estensione della chat sia visibile nell'interfaccia a cassetti del composer?

R: L'estensione della chat viene visualizzata nell'interfaccia a cassetti del composer dell'utente solo dopo che questo ha interagito con il bot correlato.

D: Per consentire agli utenti di effettuare condivisioni dal mio bot, devo avere un'estensione della chat?

R: No. La Piattaforma Messenger offre diversi modi per consentire agli utenti di effettuare la condivisione dal tuo bot.

D: Devo avere un'estensione della chat per usare la visualizzazione Web e l'SDK JavaScript per le estensioni di Messenger nel mio bot? Qual è il collegamento?

R: No. Semplicemente, ci piace usare quel termine. Infatti, le visualizzazioni Web sono richiamabili in vari modi e non solo tramite le estensioni della chat. Inoltre, tutte quante permettono di usare le estensioni di Messenger.

D: Quando il destinatario di un'estensione della chat tocca un link, quali funzioni risultano disponibili tramite l'SDK JavaScript per le estensioni di Messenger?

R: Tutte le funzioni che risultano disponibili al mittente lo sono anche agli utenti che aprono i contenuti condivisi. Puoi ottenere l'ID utente, il contesto della conversazione, effettuare le tue condivisioni e molto altro. Tieni presente che in queste situazioni non hai accesso al profilo dell'utente, né puoi inviare messaggi finché non richiedi l'autorizzazione necessaria.

D: Le estensioni della chat funzionano su Messenger.com e su Facebook.com?

R: Questa funzione è disponibile solo su iOS e Android. Gli utenti dei client Web possono cliccare sui link condivisi dagli utenti delle estensioni della chat, ma non possono usare le funzionalità offerte dall'SDK JavaScript. Per maggiori informazioni, consulta "Retrocompatibilità", nella guida alle best practice per le estensioni della chat.

D: Qual è la differenza tra la condivisione della conversazione corrente e la condivisione con trasmissione in diretta?

R: Le estensioni della chat si basano sulle funzioni di condivisione della visualizzazione Web lanciate in precedenza tramite l'aggiunta del flusso "current_thread".

Se un utente ha richiamato il bot all'interno di una conversazione tramite il composer, è naturale che desideri effettuare la condivisione in quella sede, anziché inviarla ad altri. Pertanto, con il flusso "current_thread", l'utente può confermare l'invio di una porzione di contenuto alla conversazione corrente, anziché trasmetterla a più conversazioni.

D: Ho la versione più recente di Messenger, ma l'SDK non funziona nella visualizzazione Web. Qual è il problema?

R: Tieni presente le seguenti indicazioni:

  • Pagina non pubblicata: se la Pagina a cui è allegato il bot non è stata pubblicata, l'SDK non viene caricato per gli utenti sprovvisti di ruoli (ad es. sviluppatore o amministratore) nella Pagina stessa. Aggiungi l'utente alla Pagina o effettua la pubblicazione.

  • Proprietà messenger_extension non impostata: assicurati di impostare messenger_extensions su true in qualsiasi punto da cui viene aperta la visualizzazione Web. Ecco alcuni esempi:


D: Ho creato un'estensione della chat ma non riesco a visualizzarla nell'interfaccia a cassetti del composer. Come faccio a correggerlo?

Tieni presente le seguenti indicazioni:

  1. Verifica di aver impostato home_url per la Pagina specifica in cui deve essere presente, tramite il token d'accesso per la Pagina corretto. Il trasferimento di un bot da una Pagina a un'altra non prevede il trasferimento dell'URL principale.

  2. Se hai impostato l'attributo in_test su true in modalità sviluppo, verifica che l'utente che accede all'interfaccia a cassetti sia uno sviluppatore o un tester del bot interessato o un responsabile della relativa Pagina Facebook. Se hai reso il bot disponibile a tutti, verifica di averlo inviato e di aver ricevuto l'approvazione per l'autorizzazione pages_messaging.

  3. Verifica che la Pagina Facebook a cui è collegato il bot sia stata pubblicata.

  4. Verifica che il bot stesso sia in modalità pubblica.

  5. Verifica di aver già avuto una conversazione con il bot.

  6. Le estensioni della chat mostrate nell'interfaccia a cassetti del composer vengono memorizzate nella cache. La loro visualizzazione potrebbe richiedere una breve attesa.