SitesSDK.subscribe(messageType, callback)

Cette fonction est en réalité un processus d'écoute des messages répartis à partir du site hôte. L'appel est asynchrone.

Paramètres

Le callback inscrit est appelé lorsque le kit SDK reçoit un message d'un type donné. Si le callback renvoie une valeur, cette dernière est renvoyée vers la page. Si aucun callback n'est transmis à cette fonction, tout processus d'écoute inscrit pour ce type de message spécifique est supprimé.

Il s'agit de callbacks JavaScript, la fonction doit donc utiliser une fermeture JavaScript ou lier correctement la fonction pour veiller à avoir accès au contexte approprié.

Nom Type Description

messageType

chaîne

Type de message :

  • SETTINGS_UPDATED

  • TRIGGER_ACTIONS

  • EXECUTE_ACTION

  • GET_ACTIONS

  • GET_TRIGGERS

  • COPY_CUSTOM_DATA

  • PASTE_CUSTOM_DATA

callback

fonction

Fonction lorsqu'un message est reçu à partir d'un site hôte.

Types de message

Type de message Description
SETTINGS_UPDATED Abonnez-vous à ce message pour être averti lorsqu'une valeur est modifiée dans le panneau des paramètres. En règle générale, le composant répondra en mettant à jour son rendu dans l'interface utilisateur.
TRIGGER_ACTIONS La publication de ce message active un déclencheur et transmet des données traitées.
EXECUTE_ACTION Abonnez-vous à ce message pour gérer les actions personnalisées. En règle générale, le processus d'écoute gère ce message en effectuant l'action indiquée.
GET_ACTIONS Abonnez-vous à ce message pour déclarer un tableau d'actions que le composant peut exécuter. Renvoie un tableau d'actions.
GET_TRIGGERS Abonnez-vous à ce message pour déclarer un tableau de déclencheurs que le composant peut activer. Renvoie un tableau de déclencheurs.
COPY_CUSTOM_DATA Abonnez-vous à ce message pour gérer la copie des données de paramètres personnalisés vers le presse-papiers. Renvoie un objet représentant les données à ajouter au presse-papiers.
PASTE_CUSTOM_DATA Abonnez-vous à ce message pour gérer le collage des données de paramètres personnalisés à partir du presse-papiers.

Syntaxe

Pour certains processus d'écoute, les données doivent être transmises, tandis que pour d'autres, les données sont renvoyées.

Exemple 1 :

Inscrivez un processus d'écoute de message pour le type de message EXECUTE_ACTION :

SitesSDK.subscribe(SitesSDK.MESSAGE_TYPES.EXECUTE_ACTION, self.executeAction,self);

La fonction callback inscrite doit accepter un argument comme indiqué ci-dessous :

// 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

        }

Exemple 2 :

Le processus d'écoute COPY_CUSTOM_DATA est généralement implémenté avec un code comme celui-ci :

     // listen for COPY_CUSTOM_DATA request
     SitesSDK.subscribe(SitesSDK.MESSAGE_TYPES.COPY_CUSTOM_DATA, 

La méthode copyCustomDataListener() renvoie un objet représentant les données à copier dans le presse-papiers, par exemple :

     // Handle Copy Style (save customSettingsData to the clipboard)
     self.copyCustomDataListener = function() {
         return {
             prop1: this.prop1(),
             prop2: this.prop2()
         };
     };

Exemple 3 :

La demande PASTE_CUSTOM_DATA accepte des données, mais ne doit renvoyer aucune valeur :

// listen for PASTE_CUSTOM_DATA request
SitesSDK.subscribe(SitesSDK.MESSAGE_TYPES.PASTE_CUSTOM_DATA, pasteCustomDataListener);

Avec :

// Handle Paste Style (apply customSettingsData from the clipboard)
self.pasteCustomDataListener = function(data) {
     ...
};