SitesSDK.subscribe(messageType, callback)

Esta función es un listener de mensajes de forma efectiva para los mensajes distribuidos desde el sitio host. La llamada es asíncrona.

Parámetros

Se llama a la devolución de llamada registrada cuando el SDK recibe un mensaje de un tipo específico. Si la devolución de llamada devuelve un valor, dicho valor se devuelve a la página. Si no se transfiere ninguna devolución de llamada a esta función, se suprimirá cualquier listener registrado para ese tipo de mensaje específico.

A continuación se muestran devoluciones de llamada de JavaScript, por lo que la función debe utilizar un closure de JavaScript o se debe enlazar la función según sea necesario para garantizar que tiene acceso al contexto adecuado.

Nombre Tipo Descripción

messageType

string

Tipo de mensaje:

  • SETTINGS_UPDATED

  • TRIGGER_ACTIONS

  • EXECUTE_ACTION

  • GET_ACTIONS

  • GET_TRIGGERS

  • COPY_CUSTOM_DATA

  • PASTE_CUSTOM_DATA

callback

Función

Función cuando se recibe un mensaje de un sitio host.

Tipos de mensaje

Tipo de mensaje Descripción
SETTINGS_UPDATED Suscríbase a este mensaje para recibir una notificación cuando se cambie cualquier valor en el panel de configuración. Normalmente, el componente responderá actualizando su representación en la interfaz de usuario.
TRIGGER_ACTIONS La publicación de este mensaje emite un disparador y transfiere la carga útil.
EXECUTE_ACTION Suscríbase a este mensaje para gestionar acciones personalizadas. El listener normalmente gestiona este mensaje realizando la acción especificada.
GET_ACTIONS Suscríbase a este mensaje para declarar una matriz de acciones que puede ejecutar el componente. Devuelve la matriz de acciones.
GET_TRIGGERS Suscríbase a este mensaje para declarar una matriz de disparadores que puede emitir el componente. Devuelve la matriz de disparadores.
COPY_CUSTOM_DATA Suscríbase a este mensaje para gestionar la copia de datos de configuración personalizados en el portapapeles. Devuelve un objeto que representa a los datos que se van a colocar en el portapapeles.
PASTE_CUSTOM_DATA Suscríbase a este mensaje para gestionar el pegado de datos de configuración personalizados desde el portapapeles.

Sintaxis

De algunos listeners se espera que transfieran datos y de otros que devuelvan datos.

Ejemplo 1:

Registre un listener de mensaje para el tipo de mensaje EXECUTE_ACTION:

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

La función callback registrada debe aceptar un argumento como se muestra a continuación:

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

        }

Ejemplo 2:

El listener COPY_CUSTOM_DATA normalmente se implanta con un código como el siguiente:

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

El método copyCustomDataListener() devolvería un objeto que representa a los datos que se van a copiar en el portapapeles; por ejemplo:

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

Ejemplo 3:

La solicitud PASTE_CUSTOM_DATA acepta datos, pero no tiene que devolver nada:

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

Junto con:

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