clipbucket/upload/player/CB_video_js/js/cb_ultimate_ads.js

90 lines
2.2 KiB
JavaScript
Raw Normal View History

var Ads = function(player,settings){
var ads = this;
//console.log(ads);
ads.ad_id = settings.ad_id;
ads.ad_code = settings.ad_code;
ads.autoplay = settings.autoplay;
ads.player = player;
ads.init();
}
Ads.prototype.init = function (){
var ads = this;
console.log("Fuck : "+navigator.userAgent);
var startEvent = 'click';
if (navigator.userAgent.match(/iPhone/i) || navigator.userAgent.match(/iPad/i) ||navigator.userAgent.match(/Android/i))
{
console.log("iphone/Android");
//startEvent = 'tap';
}
if (!ads.autoplay){
ads.player.one(startEvent, ads.bind(ads, ads.initialize));
}
ads.events = [
google.ima.AdEvent.Type.ALL_ADS_COMPLETED,
google.ima.AdEvent.Type.CLICK,
google.ima.AdEvent.Type.COMPLETE,
google.ima.AdEvent.Type.FIRST_QUARTILE,
google.ima.AdEvent.Type.LOADED,
google.ima.AdEvent.Type.MIDPOINT,
google.ima.AdEvent.Type.PAUSED,
google.ima.AdEvent.Type.STARTED,
google.ima.AdEvent.Type.THIRD_QUARTILE
];
ads.options = {
id: ads.player.id_,
nativeControlsForTouch: false
};
ads.player.ima(ads.options,this.bind(this, this.adsManagerLoadedCallback));
if (ads.autoplay){
ads.initialize();
}
}
Ads.prototype.initialize = function(){
var ads = this;
ads.player.ima.initializeAdDisplayContainer();
ads.player.ima.setContent(null, ads.ad_code, true);
ads.player.ima.requestAds();
ads.player.play();
}
Ads.prototype.adsManagerLoadedCallback = function() {
var ads = this;
ads.player.ima.addEventListener('start',function(){
ads.update_impressions(ads.ad_id);
});
for (var index = 0; index < ads.events.length; index++) {
ads.player.ima.addEventListener(
ads.events[index],
ads.bind(ads, ads.onAdEvent));
}
ads.player.ima.start();
}
Ads.prototype.onAdEvent = function(event) {
console.log('Ad event: ' + event.type);
}
Ads.prototype.update_impressions = function(ad_id){
update_ad_imp(ad_id);
}
Ads.prototype.bind = function(thisObj, fn) {
return function() {
fn.apply(thisObj, arguments);
};
}
var cb_ultimate_ads = function(settings){
var ultimate_ads = new Ads(this,settings);
}
videojs.plugin('cb_ultimate_ads',cb_ultimate_ads);