この関数は、ホスト・サイトからディスパッチされるメッセージの効果的なメッセージ・リスナーです。このコールは非同期です。
パラメータ
登録されたコールバックは、特定のタイプのメッセージを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) { ... };