Фактически эта функция является прослушивателем сообщений для сообщений, отправленных с сайта хоста. Ее вызов выполняется асинхронно.
Параметры
Зарегистрированный обратный вызов вызывается, когда SDK получает сообщение определенного типа. Если обратный вызов возвращает значение, оно возвращается на страницу. Если обратный вызов не передан этой функции, удаляются все зарегистрированные прослушиватели сообщений этого типа.
Это обратные вызовы JavaScript, поэтому функция должна использовать JavaScript Closure или необходимо должным образом привязать функцию, чтобы обеспечить ее доступ к соответствующему контексту.
Имя | Тип | Описание |
---|---|---|
|
строка |
Тип сообщения
|
|
функция |
Функция при получении сообщения от сайта хоста. |
Типы сообщений
Тип сообщения | Описание |
---|---|
SETTINGS_UPDATED | Подпишитесь на это сообщение, чтобы получать уведомления об изменении любого значения на панели "Настройки". Как правило, компонент отвечает, обновляя свою визуализацию в пользовательском интерфейсе. |
TRIGGER_ACTIONS | При публикации этого сообщения вызывается триггер и передаются полезные данные. |
EXECUTE_ACTION | Подпишитесь на это сообщение для обработки пользовательских действий. Прослушиватель обычно обрабатывает это сообщение, выполняя указанное действие. |
GET_ACTIONS | Подпишитесь на это сообщение, чтобы объявить массив действий, которые компонент может выполнить. Возвращает массив действий. |
GET_TRIGGERS | Подпишитесь на это сообщение, чтобы объявить массив триггеров, которые компонент может вызвать. Возвращает массив триггеров. |
COPY_CUSTOM_DATA | Подпишитесь на это сообщение, чтобы обрабатывать копирование данных пользовательских настроек в буфер обмена. Возвращает объект, представляющий данные, которые необходимо поместить в буфер обмена. |
PASTE_CUSTOM_DATA | Подпишитесь на это сообщение, чтобы обрабатывать синтаксический разбор данных пользовательских настроек из буфера обмена. |
Синтаксис
Одни прослушиватели ожидают передачи данных, другие — возврата данных.
Пример 1.
Зарегистрируйте прослушиватель сообщений для сообщений типа EXECUTE_ACTION
:
SitesSDK.subscribe(SitesSDK.MESSAGE_TYPES.EXECUTE_ACTION, self.executeAction,self);
Зарегистрированная функция callback
должна принимать аргумент, как показано ниже:
// 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 }
Пример 2.
Прослушиватель COPY_CUSTOM_DATA
обычно реализуется с помощью кода, подобного следующему:
// listen for COPY_CUSTOM_DATA request SitesSDK.subscribe(SitesSDK.MESSAGE_TYPES.COPY_CUSTOM_DATA,
Метод copyCustomDataListener()
возвращает объект, представляющий данные, которые необходимо скопировать в буфер обмена, например:
// Handle Copy Style (save customSettingsData to the clipboard) self.copyCustomDataListener = function() { return { prop1: this.prop1(), prop2: this.prop2() }; };
Пример 3.
Запрос PASTE_CUSTOM_DATA принимает данные, но ничего не должен возвращать:
// listen for PASTE_CUSTOM_DATA request SitesSDK.subscribe(SitesSDK.MESSAGE_TYPES.PASTE_CUSTOM_DATA, pasteCustomDataListener);
А также:
// Handle Paste Style (apply customSettingsData from the clipboard) self.pasteCustomDataListener = function(data) { ... };