SitesSDK.subscribe(messageType, callback)

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

messageType

Streng

Meddelelsestype:

  • SETTINGS_UPDATED

  • TRIGGER_ACTIONS

  • EXECUTE_ACTION

  • GET_ACTIONS

  • GET_TRIGGERS

  • COPY_CUSTOM_DATA

  • PASTE_CUSTOM_DATA

callback

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) {
     ...
};