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