-
Notifications
You must be signed in to change notification settings - Fork 1
/
spongeapi.custom.js
63 lines (58 loc) · 2 KB
/
spongeapi.custom.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
/*
SPONGEAPI v1.1 CUSTOM ELEMENT ONLY
*/
var spongeapi = spongeapi || {};
spongeapi.initComplete = false;
postMessage(JSON.stringify({
type: 'api',
topic: 'setup',
iid: spongecell.studioAd.iid,
callback: 'handleSetupResponse'
}), '*');
spongeapi.openScreen = function(screenName,options){
if(window != parent.top){
if(options && options.engagement) {
postMessage(JSON.stringify({
iid: spongecell.studioAd.iid,
topic: 'nav',
type: 'api',
engage: true,
screen: screenName
}), '*');
} else {
postMessage(JSON.stringify({
iid: spongecell.studioAd.iid,
topic: 'nav',
type: 'api',
engage: false,
screen: screenName
}), '*');
}
} else {console.log('openScreen('+screenName+','+options+')')}
};
spongeapi.openLanding = function(landingPage){
if(window != parent.top){
//window.open(spongecell.apiData.landingPages[landingPage].url, '_blank'); UNCOMMENT ON NEXT RELEASE
postMessage(JSON.stringify({
iid: spongecell.studioAd.iid,
topic: 'nav',
type: 'api',
landingPage: spongecell.apiData.landingPages[landingPage]
}), '*');
} else {console.log('openLanding('+landingPage+'): '+ spongecell.apiData.landingPages[landingPage].url)}
};
spongeapi.getDynamicText = function(prop){
return (spongecell.hasOwnProperty('apiData')) ? spongecell.apiData.properties[prop].text : prop;
};
spongeapi.getDynamicImage = function(prop){
return (spongecell.hasOwnProperty('apiData')) ? spongecell.apiData.assets[prop].src : prop;
};
handleSetupResponse = function(message) {
if(!spongeapi.initComplete){
window.spongecell.apiData = message || {};
if(!spongecell.apiData.assets && testData){
spongecell.apiData = testData;
}
}
spongeapi.initComplete = true;
}