L'SDK per le estensioni di Messenger offre eccezionali funzioni specifiche per Messenger per le app web o i siti web aperti nella visualizzazione web di Messenger. Grazie all'SDK, puoi recuperare le informazioni sulla persona che ha aperto la visualizzazione web, condividere contenuti nelle conversazioni su Messenger ed effettuare un'integrazione approfondita con l'interfaccia utente di Messenger.
Sono disponibili le seguenti funzioni nella visualizzazione web di Messenger quando includi l'SDK per le estensioni di Messenger. Tieni presente che l'effettiva disponibilità delle funzioni potrebbe variare in base alla versione di Messenger e al dispositivo.
Funzione | Descrizione |
---|---|
Consente di recuperare il contesto della conversazione, come il PSID della persona che ha aperto la visualizzazione web. | |
Consente di chiudere la visualizzazione web e tornare alla conversazione su Messenger. | |
Consente di richiedere l'autorizzazione per eseguire azioni come il recupero delle informazioni del profilo di una persona. | |
Consente di controllare le autorizzazioni concesse al momento. | |
Consente di controllare le funzioni supportate nella visualizzazione web del dispositivo corrente, come la condivisione. |
Per i dettagli completi sull'uso di queste funzioni, consulta il riferimento per l'SDK per le estensioni di Messenger.
Per utilizzare le estensioni di Messenger nel tuo bot, devi prima autorizzare il dominio da cui viene mostrata la pagina; per motivi di sicurezza, tutti i domini della tua pagina web devono essere aggiunti ai domini autorizzati. Per maggiori dettagli, consulta la documentazione di riferimento sull'aggiunta ai domini autorizzati.
Puoi autorizzare facilmente un dominio in modo programmatico grazie alla seguente API:
curl -X POST -H "Content-Type: application/json" -d '{
"whitelisted_domains":[
"https://petersfancyapparel.com"
]
}' "https://graph.facebook.com/v21.0
/me/messenger_profile?access_token=PAGE_ACCESS_TOKEN"
Se l'operazione è stata eseguita correttamente, l'API Messenger Profile risponderà:
{"result":"success"}
Aggiungi l'SDK JavaScript per le estensioni di Messenger alla pagina in caricamento nella visualizzazione web con il codice indicato di seguito. Devi inserirlo direttamente dopo il tag body
di apertura su ciascuna pagina in cui desideri venga caricato:
(function(d, s, id){ var js, fjs = d.getElementsByTagName(s)[0]; if (d.getElementById(id)) {return;} js = d.createElement(s); js.id = id; js.src = "//connect.facebook.net/en_US/messenger.Extensions.js"; fjs.parentNode.insertBefore(js, fjs); }(document, 'script', 'Messenger'));
window.extAsyncInit()
riceve una chiamata al termine del caricamento dell'SDK JavaScript per le estensioni di Messenger. Puoi usarlo per attivare le chiamate alle altre funzioni disponibili nell'SDK.
window.extAsyncInit = function() { // the Messenger Extensions JS SDK is done loading };
L'SDK per le estensioni di Messenger è supportato per l'uso sui client mobili e per computer di Messenger. Tuttavia, potresti dover prendere in considerazione quanto segue per garantirne il corretto funzionamento.
Puoi anche utilizzare la proprietà window.name
per controllare la posizione dell'iframe dal codice lato client.
Quando l'iframe viene attivato su Messenger sul web, impostiamo window.name
su "messenger_ref"
. Altrimenti, durante il caricamento nelle tab Chat di Facebook, window.name
sarà "facebook_ref"
.
Le seguenti impostazioni o funzioni non sono supportate sui client web di Messenger. Tuttavia, funzionano correttamente sui client mobili di Messenger.
webview_height_ratio
webview_share_button
Se non riesci a chiamare l'SDK per le estensioni di Messenger dalla tua pagina, prendi in considerazione quanto segue:
messenger_extensions
sia impostato su true
. Se un utente ha aperto la visualizzazione web tramite un messaggio condiviso, affinché le estensioni di Messenger funzionino non è necessario che l'utente abbia conversato con il tuo bot.Controlla di aver autorizzato il dominio in cui è ospitata la pagina.
Controlla che l'SDK JavaScript sia incluso in ogni pagina che utilizza le estensioni.
Assicurati di non chiamare le funzioni prima del termine del caricamento dell'SDK. Usa l'elemento window.extAsyncInit
descritto qui per verificare il completamento del caricamento.
Assicurati che la pagina venga mostrata in HTTPS e che non includa porte non standard.