Skip to content

Instantly share code, notes, and snippets.

@simonklee
Created February 24, 2014 08:34
Show Gist options
  • Save simonklee/9183897 to your computer and use it in GitHub Desktop.
Save simonklee/9183897 to your computer and use it in GitHub Desktop.
spil ads like googletags
<div id='kogama_970x90'>
<script type='text/javascript'>
spilAdsManager.cmd.push(function() {
spilAdsManager.display('kogama_970x90');
});
</script>
</div>
<script type="text/javascript">
var spilAdsManager = spilAdsManager || {};
spilAdsManager.cmd = spilAdsManager.cmd || [];
spilAdsManager.cmd.push(function() {
spilAdsManager.define({position: "leaderboard", size: [300, 250], nodeId: 'kogama_300x250'});
spilAdsManager.define({position: "leaderboard", size: [336, 280], nodeId: 'kogama_336x280'});
spilAdsManager.define({position: "banner", size: [728, 90], nodeId: 'kogama_728x90'});
spilAdsManager.define({position: "banner", size: [970, 90], nodeId: 'kogama_970x90'});
});
</script>
<script type="text/javascript">
var adScript = document.createElement('script');
adScript.setAttribute('type', 'text/javascript');
adScript.setAttribute('src', "ads.spil.js");
document.getElementsByTagName('head')[0].appendChild(adScript);
</script>
(function(window) {
if (typeof(window.spilAds) === 'undefined') {
var spilAds = {
queue: [],
showAd: function(data) {
this.queue.push(data);
}
}
var spilAdsQueue = spilAds;
window.spilAdsQueue = spilAdsQueue;
window.spilAds = spilAds
}
var adScript = document.createElement('script');
adScript.setAttribute('type', 'text/javascript');
adScript.setAttribute('src', 'http://adsolution.spilgames.com/build/vda.min.js');
adScript.onload = function() {
if (typeof(window.spilAdsQueue) !== 'undefined') {
for (var i = 0 ; i < window.spilAdsQueue.queue.length ; i++) {
window.spilAds.showAd(window.spilAdsQueue.queue[i]);
}
}
}
window.document.getElementsByTagName('head')[0].appendChild(adScript);
var spilAdsManager = {};
spilAdsManager.definitions = [];
spilAdsManager.define = function(data) {
spilAdsManager.definitions.push({
domNodeId: data.nodeId,
dimensions: {
domain: data.domain || 'kogama.com',
position: data.position,
pageType: data.page || 'homepage',
deviceCategory: data.category || 'desktop',
gameId: data.gameId || '1'
},
size: data.size,
onError: function(error) {
console.log('error:', error);
},
onProgress: function(progress) {
//console.log('progress:', progress);
},
onCompleted: function(result) {
//console.log('completed:', result);
}
});
}
spilAdsManager.display = function(nodeId) {
var data = null;
for (var i=0; i < spilAdsManager.definitions.length; i++) {
if (spilAdsManager.definitions[i].domNodeId === nodeId) {
data = this.definitions[i];
break;
}
}
if (data === null) {
throw "ad " + nodeId + " is not defined.";
}
window.spilAds.showAd(data);
}
var queue = window.spilAdsManager.cmd || [];
spilAdsManager.cmd = {};
spilAdsManager.cmd.push = function(cb) {
cb();
};
window.spilAdsManager = spilAdsManager;
for (var i=0; i < queue.length; i++) {
queue[i]();
}
return spilAdsManager;
})(window);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment