Questa funzione è un vero e proprio listener per i messaggi consegnati dal sito host. La chiamata è asincrona.
Parametri
Il callback registrato viene richiamato quando il kit SDK riceve un messaggio di un tipo specifico. Se il callback restituisce un valore, il valore viene restituito di nuovo alla pagina. Se alla funzione non viene passato alcun callback, il listener registrato per quel tipo di messaggio specifico verrà eliminato.
Si tratta di callback JavaScript, pertanto la funzione deve usare JavaScript Closure oppure essere associata in modo adeguato tramite bind per ottenere l'accesso al contesto appropriato.
Nome | Tipo | Descrizione |
---|---|---|
|
string |
Tipo di messaggio:
|
|
function |
La funzione quando viene ricevuto un messaggio dal sito host. |
Tipi di messaggio
Tipo di messaggio | Descrizione |
---|---|
SETTINGS_UPDATED | Eseguire la sottoscrizione a questo messaggio per ricevere una notifica quando viene modificato un valore qualsiasi nel pannello Impostazioni. In genere il componente risponde aggiornando la propria rendition nell'interfaccia utente. |
TRIGGER_ACTIONS | La pubblicazione di questo messaggio comporta il richiamo di un trigger e il passaggio del payload. |
EXECUTE_ACTION | Eseguire la sottoscrizione a questo messaggio per gestire le azioni personalizzate. In genere il listener gestisce questo messaggio eseguendo l'azione specificata. |
GET_ACTIONS | Eseguire la sottoscrizione a questo messaggio per dichiarare un array di azioni che il componente può eseguire. Restituisce un array di azioni. |
GET_TRIGGERS | Eseguire la sottoscrizione a questo messaggio per dichiarare un array di trigger che il componente può richiamare. Restituisce un array di trigger. |
COPY_CUSTOM_DATA | Eseguire la sottoscrizione a questo messaggio per gestire la copia dei dati delle impostazioni personalizzate negli Appunti. Restituisce un oggetto che rappresenta i dati da inserire negli Appunti. |
PASTE_CUSTOM_DATA | Eseguire la sottoscrizione a questo messaggio per gestire le operazioni Incolla dei dati delle impostazioni personalizzate dagli Appunti. |
Uso
Alcuni listener prevedono che i dati vengano passati, mentre per altri è prevista la restituzione dei dati.
Esempio 1
Registrare un listener di messaggi per il tipo di messaggio EXECUTE_ACTION
:
SitesSDK.subscribe(SitesSDK.MESSAGE_TYPES.EXECUTE_ACTION, self.executeAction,self);
La funzione callback
registrata deve accettare un argomento come mostrato di seguito:
// typical signature of a callback function registered with a message // type function (args) { var payload = args.detail.message.payload, action = args.detail.message.action, actionName = action && action.actionName; // do something here with the payload data }
Esempio 2
Il listener COPY_CUSTOM_DATA
viene di solito implementato con codice simile al seguente:
// listen for COPY_CUSTOM_DATA request SitesSDK.subscribe(SitesSDK.MESSAGE_TYPES.COPY_CUSTOM_DATA,
Il metodo copyCustomDataListener()
restituisce un oggetto che rappresenta i dati da copiare negli Appunti. Ad esempio:
// Handle Copy Style (save customSettingsData to the clipboard) self.copyCustomDataListener = function() { return { prop1: this.prop1(), prop2: this.prop2() }; };
Esempio 3
La richiesta PASTE_CUSTOM_DATA accetta i dati, ma non deve restituire nulla:
// listen for PASTE_CUSTOM_DATA request SitesSDK.subscribe(SitesSDK.MESSAGE_TYPES.PASTE_CUSTOM_DATA, pasteCustomDataListener);
Insieme a:
// Handle Paste Style (apply customSettingsData from the clipboard) self.pasteCustomDataListener = function(data) { ... };