이 함수는 사실상 호스트 사이트에서 작업 할당된 메시지의 메시지 리스너입니다. 비동기 호출입니다.
매개변수
등록된 콜백은 SDK에서 특정 유형의 메시지를 수신할 때 호출됩니다. 콜백이 값을 반환하면 해당 값이 페이지로 다시 반환됩니다. 이 함수로 전달된 콜백이 없으면 특정 메시지 유형에 대해 등록된 리스너가 삭제됩니다.
이것은 JavaScript 콜백이므로 함수에 JavaScript 클로저를 사용하거나 함수를 적절히 바인딩하여 적합한 컨텍스트에 액세스할 수 있도록 해야 합니다.
이름 | 유형 | 설명 |
---|---|---|
|
문자열 |
메시지 유형:
|
|
함수 |
호스트 사이트에서 메시지가 수신될 때 함수입니다. |
메시지 유형
메시지 유형 | 설명 |
---|---|
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) { ... };