Această funcţie reprezintă în esenţă un listener pentru mesajele distribuite de la site-ul gazdă. Apelul este asincron.
Parametri
Reapelarea înregistrată este apelată când SDK-ul primeşte un mesaj de un anumit tip. Dacă reapelarea returnează o valoare, atunci acea valoare este returnată către pagină. Dacă nu se transmite nicio reapelare către această funcţie, atunci orice listener înregistrat pentru acel tip de mesaj va fi şters.
Acestea sunt reapelări JavaScript, astfel că funcţia trebuie să utilizeze JavaScript Closure sau să fie asociată în mod corect, pentru a se asigura că are acces la contextul corespunzător.
Nume | Tip | Descriere |
---|---|---|
|
şir |
Tipul mesajului:
|
|
funcţie |
Funcţia când se primeşte un mesaj de la un site gazdă. |
Tipuri de mesaje
Tip mesaj | Descriere |
---|---|
SETTINGS_UPDATED | Abonaţi-vă la acest mesaj pentru a fi înştiinţat ori de câte ori se modifică o valoare din panoul de setări. În mod normal, componenta va răspunde prin actualizarea randării în interfaţa de utilizare. |
TRIGGER_ACTIONS | Publicarea acestui mesaj determină generarea unui trigger şi transmiterea unui payload. |
EXECUTE_ACTION | Abonaţi-vă la acest mesaj pentru a trata acţiuni personalizate. În mod normal, listenerul tratează acest mesaj prin efectuarea acţiunii corespunzătoare. |
GET_ACTIONS | Abonaţi-vă la acest mesaj pentru a declara o matrice de acţiuni pe care componenta le poate executa. Returnează matricea de acţiuni. |
GET_TRIGGERS | Abonaţi-vă la acest mesaj pentru a declara o matrice de triggere pe care componenta le poate genera. Returnează matricea de triggere. |
COPY_CUSTOM_DATA | Abonaţi-vă la acest mesaj pentru a trata copierea în clipboard a datelor personalizate despre setări. Returnează un obiect care reprezintă datele de plasat în clipboard. |
PASTE_CUSTOM_DATA | Abonaţi-vă la acest mesaj pentru a trata lipirea din clipboard a datelor personalizate despre setări. |
Utilizare
Unele listenere aşteaptă transmiterea datelor, în timp ce de la altele se aşteaptă returnarea datelor.
Exemplu 1:
Înregistraţi un listener pentru tipul de mesaj EXECUTE_ACTION
:
SitesSDK.subscribe(SitesSDK.MESSAGE_TYPES.EXECUTE_ACTION, self.executeAction,self);
Funcţia callback
înregistrată ar trebui să accepte un argument precum cel prezentat aici:
// 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 }
Exemplu 2:
Listenerul COPY_CUSTOM_DATA
este implementat în mod normal cu un cod precum acesta:
// listen for COPY_CUSTOM_DATA request SitesSDK.subscribe(SitesSDK.MESSAGE_TYPES.COPY_CUSTOM_DATA,
Metoda copyCustomDataListener()
ar urma să returneze un obiect reprezentând datele de copiat în clipboard, de exemplu:
// Handle Copy Style (save customSettingsData to the clipboard) self.copyCustomDataListener = function() { return { prop1: this.prop1(), prop2: this.prop2() }; };
Exemplu 3:
Solicitarea PASTE_CUSTOM_DATA acceptă date, însă nu trebuie să returneze nimic:
// listen for PASTE_CUSTOM_DATA request SitesSDK.subscribe(SitesSDK.MESSAGE_TYPES.PASTE_CUSTOM_DATA, pasteCustomDataListener);
Împreună cu:
// Handle Paste Style (apply customSettingsData from the clipboard) self.pasteCustomDataListener = function(data) { ... };