Denne funktion fungerer i praksis som en meddelelses-listener for meddelelser, der afsendes fra værtssitet. Kaldet er asynkront.
Parametre
Det registrerede callback kaldes, når en meddelelse af en bestemt type modtages af SDK'et. Hvis callback'et returnerer en værdi, returneres den pågældende værdi til siden igen. Hvis der ikke videregives et callback til denne funktion, slettes en eventuel registreret listener for den pågældende meddelelsestype.
Dette er JavaScript-callbacks, så funktionen skal bruge JavaScript Closure eller tilknytte funktionen på en passende måde for at sikre, at den har adgang til det relevante indhold.
Navn | Type | Beskrivelse |
---|---|---|
|
Streng |
Meddelelsestype:
|
|
Funktion |
Funktionen, når der modtages en meddelelse fra et værtssite. |
Meddelelsestyper
Meddelelsestype | Beskrivelse |
---|---|
SETTINGS_UPDATED | Abonner på denne meddelelse for at få besked, når en værdi ændres i indstillingspanelet. Komponenten reagerer normalt ved at opdatere sin gengivelse i brugergrænsefladen. |
TRIGGER_ACTIONS | Publicering af denne meddelelse udløser en trigger og videregiver payload. |
EXECUTE_ACTION | Abonner på denne meddelelse for at håndtere tilpassede handlinger. Listeneren håndterer normalt denne meddelelse ved at udføre den givne handling. |
GET_ACTIONS | Abonner på denne meddelelse for at erklære en array med handlinger, som komponenten kan udføre. Returnerer en array af handlinger. |
GET_TRIGGERS | Abonner på denne meddelelse for at erklære en array med triggere, som komponenten kan udløse. Returnerer en array af triggere. |
COPY_CUSTOM_DATA | Abonner på denne meddelelse for at håndtere kopiering af tilpassede indstillingsdata til udklipsholderen. Returnerer et objekt, der repræsenterer data, som skal placeres i udklipsholderen. |
PASTE_CUSTOM_DATA | Abonner på denne meddelelse for at håndtere indsættelse af tilpassede indstillingsdata fra udklipsholderen. |
Anvendelse
Nogle listenere forventer, at data videregives, og nogle forventes at returnere data.
Eksempel 1:
Registrer en meddelelses-listener for meddelelsestypen EXECUTE_ACTION
:
SitesSDK.subscribe(SitesSDK.MESSAGE_TYPES.EXECUTE_ACTION, self.executeAction,self);
Den registrerede callback
-funktion skal acceptere et argument som vist her:
// 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 }
Eksempel 2:
Listeneren COPY_CUSTOM_DATA
skal normalt implementeres med kode på denne måde:
// listen for COPY_CUSTOM_DATA request SitesSDK.subscribe(SitesSDK.MESSAGE_TYPES.COPY_CUSTOM_DATA,
Metoden copyCustomDataListener()
returnerer et objekt, der repræsenterer de data, som skal kopieres til udklipsholderen, for eksempel:
// Handle Copy Style (save customSettingsData to the clipboard) self.copyCustomDataListener = function() { return { prop1: this.prop1(), prop2: this.prop2() }; };
Eksempel 3:
Anmodningen PASTE_CUSTOM_DATA accepterer data, men skal ikke returnere noget:
// listen for PASTE_CUSTOM_DATA request SitesSDK.subscribe(SitesSDK.MESSAGE_TYPES.PASTE_CUSTOM_DATA, pasteCustomDataListener);
Sammen med:
// Handle Paste Style (apply customSettingsData from the clipboard) self.pasteCustomDataListener = function(data) { ... };