Esta função é, na realidade, um listener de mensagens para as mensagens despachadas a partir do site do host. A chamada é assíncrona.
Parâmetros
A callback registada é chamada quando uma mensagem de um tipo específico é recebida pelo SDK. Se a callback devolver um valor, esse valor é devolvido novamente à página. Se não for transmitida nenhuma callback a esta função, qualquer listener registado para esse tipo específico de mensagem é apagado.
Estas são callbacks de JavaScript, pelo que a função deve utilizar um JavaScript Closure ou associar de modo apropriado a função para garantir que tem acesso ao contexto adequado.
Nome | Tipo | Descrição |
---|---|---|
|
cadeia de caracteres |
Tipo de mensagem:
|
|
função |
A função quando uma mensagem é recebida de um site do host. |
Tipos de Mensagem
Tipo de Mensagem | Descrição |
---|---|
SETTINGS_UPDATED | Subscreva esta mensagem para ser notificado quando qualquer valor é alterado no painel Definições. Normalmente, o componente irá responder atualizando a respetiva apresentação na interface do utilizador. |
TRIGGER_ACTIONS | Publicar esta mensagem gera um trigger e transmite o payload. |
EXECUTE_ACTION | Subscreva esta mensagem para processar ações customizadas. O listener normalmente processa esta mensagem executando a ação fornecida. |
GET_ACTIONS | Subscreva esta mensagem para declarar uma matriz de ações que o componente pode executar. Devolve a matriz de ações. |
GET_TRIGGERS | Subscreva esta mensagem para declarar uma matriz de triggers que o componente pode gerar. Devolve a matriz de triggers. |
COPY_CUSTOM_DATA | Subscreva esta mensagem para processar a cópia dos Dados de Definições Customizadas para a área de transferência. Devolve um objeto que representa os dados a colocar na área de transferência. |
PASTE_CUSTOM_DATA | Subscreva esta mensagem para processar a colagem dos Dados de Definições Customizadas da área de transferência. |
Utilização
Alguns listeners esperam que sejam transmitidos dados e outros é suposto que devolvam dados.
Exemplo 1:
Registar um listener de mensagens para o tipo de mensagem EXECUTE_ACTION
:
SitesSDK.subscribe(SitesSDK.MESSAGE_TYPES.EXECUTE_ACTION, self.executeAction,self);
A função callback
registada deve aceitar um argumento conforme mostrado aqui:
// 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 }
Exemplo 2:
Normalmente, o listener COPY_CUSTOM_DATA
é implementado com código semelhante ao seguinte:
// listen for COPY_CUSTOM_DATA request SitesSDK.subscribe(SitesSDK.MESSAGE_TYPES.COPY_CUSTOM_DATA,
O método copyCustomDataListener()
irá devolver um objeto que representa os dados a copiar para a área de transferência, por exemplo:
// Handle Copy Style (save customSettingsData to the clipboard) self.copyCustomDataListener = function() { return { prop1: this.prop1(), prop2: this.prop2() }; };
Exemplo 3:
O pedido PASTE_CUSTOM_DATA aceita dados, mas não tem de devolver nada:
// listen for PASTE_CUSTOM_DATA request SitesSDK.subscribe(SitesSDK.MESSAGE_TYPES.PASTE_CUSTOM_DATA, pasteCustomDataListener);
Juntamente com:
// Handle Paste Style (apply customSettingsData from the clipboard) self.pasteCustomDataListener = function(data) { ... };