Ta funkcja jest praktycznie nasłuchem komunikatów rozsyłanych z serwisu-hosta. Wywołanie jest asynchroniczne.
Parametry
Zarejestrowane wywołanie zwrotne (callback) jest wywoływane, gdy SDK otrzyma komunikat określonego typu. Jeśli wywołanie zwrotne zwróci wartość, to następnie zostanie ona zwrócona do strony. Jeśli do tej funkcji nie zostanie przekazane żadne wywołanie zwrotne, to nastąpi usunięcie nasłuchu zarejestrowanego dla tego konkretnego typu komunikatu.
Są to wywołania zwrotne JavaScript, a zatem funkcja powinna używać domknięcia (closure) JavaScript albo odpowiednio powiązać funkcję, tak aby miała dostęp do odpowiedniego kontekstu.
Nazwa | Typ | Opis |
---|---|---|
|
napis |
Typ komunikatu:
|
|
funkcja |
Funkcja wykonywana, gdy z serwisu-hosta zostanie otrzymany komunikat. |
Typy komunikatów
Typ komunikatu | Opis |
---|---|
SETTINGS_UPDATED | Ten komunikat należy subskrybować, aby były przysyłane powiadomienia, gdy w panelu ustawień zostanie zmieniona jakaś wartość. Zazwyczaj składnik reaguje, aktualizując swoją realizację w interfejsie użytkownika. |
TRIGGER_ACTIONS | Publikacja tego komunikatu uaktywnia wyzwalacz i przekazuje ładunek. |
EXECUTE_ACTION | Ten komunikat należy subskrybować, aby były obsługiwane czynności niestandardowe. Zazwyczaj nasłuch obsługuje ten komunikat, wykonując podaną czynność. |
GET_ACTIONS | Ten komunikat należy subskrybować, aby zadeklarować tablicę czynności, które ten składnik może uruchamiać. Zwraca tablicę czynności. |
GET_TRIGGERS | Ten komunikat należy subskrybować, aby zadeklarować tablicę wyzwalaczy, które ten składnik może uaktywniać. Zwraca tablicę wyzwalaczy. |
COPY_CUSTOM_DATA | Ten komunikat należy subskrybować, aby było obsługiwane kopiowanie danych (ustawień niestandardowych) do schowka. Zwraca obiekt reprezentujący dane, które mają zostać umieszczone w schowku. |
PASTE_CUSTOM_DATA | Ten komunikat należy subskrybować, aby było obsługiwane wklejanie danych (ustawień niestandardowych) ze schowka. |
Użycie
Niektóre nasłuchy oczekują przekazania danych, a od innych nasłuchów oczekuje się zwracania danych.
Przykład 1:
Rejestracja nasłuchu komunikatów typu EXECUTE_ACTION
:
SitesSDK.subscribe(SitesSDK.MESSAGE_TYPES.EXECUTE_ACTION, self.executeAction,self);
Zarejestrowana funkcja callback
powinna przyjmować argument, jak poniżej:
// 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 }
Przykład 2:
Nasłuch COPY_CUSTOM_DATA
jest zazwyczaj implementowany przy użyciu kodu podobnego do następującego:
// listen for COPY_CUSTOM_DATA request SitesSDK.subscribe(SitesSDK.MESSAGE_TYPES.COPY_CUSTOM_DATA,
Metoda copyCustomDataListener()
zwraca obiekt reprezentujący dane, które mają zostać skopiowane do schowka, na przykład:
// Handle Copy Style (save customSettingsData to the clipboard) self.copyCustomDataListener = function() { return { prop1: this.prop1(), prop2: this.prop2() }; };
Przykład 3:
Żądanie PASTE_CUSTOM_DATA przyjmuje dane, ale nic nie musi zwracać:
// listen for PASTE_CUSTOM_DATA request SitesSDK.subscribe(SitesSDK.MESSAGE_TYPES.PASTE_CUSTOM_DATA, pasteCustomDataListener);
Wraz z:
// Handle Paste Style (apply customSettingsData from the clipboard) self.pasteCustomDataListener = function(data) { ... };