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 |
---|---|---|
|
string |
Tipo de mensaje:
|
|
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) { ... };