Professional Documents
Culture Documents
1563446509858 com.zapak.ben10alienrace
Duplicate:co.tinybit.supermarket.shopping.fun Video & Computer Games
1563446509865 com.zapak.ben10alienrace
Duplicate:co.romesoft.kids.shopping.supermarket Video & Computer Games
1563446509882 com.zapak.ben10alienrace
Duplicate:co.tinybit.shopping.mall.rich.girls Video & Computer Games
1563446509895 com.zapak.ben10alienrace
Duplicate:com.tgg.shoppingmallshopaholicgirls Video & Computer Games
1563446509905 com.zapak.ben10alienrace
Duplicate:com.kixolabs.supermarket.cashier.shopping Video & Computer Games
1563446509906 com.zapak.ben10alienrace
Duplicate:com.appricot2d.girls.fashion.store.cashier Video & Computer Games
1563446509910 com.zapak.ben10alienrace
Duplicate:com.gameslogicinteractive.kidssupermarketshoppingadventure Video &
Computer Games
1563446509925 com.zapak.ben10alienrace
Duplicate:com.expertinapps.supermarket.shopping.mall.girl Video & Computer Games
1563446509939 com.zapak.ben10alienrace
Duplicate:com.gsstudio.shopping.mall.toy.car.race.sim Video & Computer Games
1563446509941 com.zapak.ben10alienrace
Duplicate:com.gsstudio.shopping.mall.tourists.train.sim Video & Computer Games
<script src="https://imasdk.googleapis.com/js/sdkloader/ima3.js"></script>
<script src="https://s3-ap-southeast-
1.amazonaws.com/sdkplugin/imasupport/video.min.js"></script>
<script src="https://s3-ap-southeast-
1.amazonaws.com/sdkplugin/imasupport/videojs.ads.min.js"></script>
<script src="https://s3-ap-southeast-
1.amazonaws.com/sdkplugin/imasupport/videojs.ima.js"></script>
<script type="text/javascript">
/**
* console logger
**/
(function() {
var LOG_LEVEL = {
"DEBUG" : 0,
"INFO" : 1,
"WARNING" : 2,
"ERROR" : 3
};
log.d = function(msg) {
if (logLevel <= LOG_LEVEL.DEBUG) {
console.log("[DEBUG] " + msg);
}
};
log.i = function(msg) {
if (logLevel <= LOG_LEVEL.INFO) {
console.log("[INFO] " + msg);
}
};
log.w = function(msg) {
if (logLevel <= LOG_LEVEL.WARN) {
console.log("[WARN] " + msg);
}
};
log.e = function(msg) {
console.log("[ERROR] " + msg);
};
} ());
/**
* bridge
**/
(function() {
window.pokktNativeBridge = {};
window.pokktNativeBridge.notifyNative = function(operation, params) {
log.i('notifying native of: ' + operation + ' , with params: ' + params);
/**
* POKKT-IMA Wrapper
**/
var PokktIMAWrapper = function(debugEnabled) {
log.i('preparing ima wrapper for pokkt...');
this.player = videojs('pokkt-video-ad');
this.player.fluid(true);
// Remove controls from the player on iPad to stop native controls from
stealing our click
if (navigator.userAgent.match(/iPad/i) ||
navigator.userAgent.match(/Android/i)){
var contentPlayer = document.getElementById('content_video_html5_api');
if (contentPlayer != null && contentPlayer.hasAttribute('controls')) {
contentPlayer.removeAttribute('controls');
}
this.player.controls(false);
}
var options = {
debug: debugEnabled,
id: 'pokkt-video-ad',
autoPlayAdBreaks: false,
showControlsForJSAds: false,
vpaidMode: 'INSECURE',
disableCustomPlaybackForIOS10Plus: true,
adsManagerLoadedCallback: this.adsManagerLoadedCallback.bind(this)
};
this.player.ima(options);
this.player.ima.setAdBreakReadyListener(function(){
log.i('ad-break ready, attempting ad playback...');
this.player.ima.playAdBreak();
});
pokktNativeBridge.notifyNative('wrapperPrepared');
};
PokktIMAWrapper.prototype.initWithAdTag = function(adTag, isAdTagAUrl) {
log.i('initializing ima...');
this.player.ima.initializeAdDisplayContainer();
if (isAdTagAUrl) {
this.player.ima.setContentWithAdTag(null, adTag, false);
} else {
this.player.ima.setContentWithAdsResponse(null, adTag, false);
}
this.player.ima.requestAds();
};
PokktIMAWrapper.prototype.adsManagerLoadedCallback = function(event) {
log.i('ads-manager loaded, registering remaining listners...');
var events = [
google.ima.AdEvent.Type.AD_BREAK_READY,
google.ima.AdEvent.Type.AD_CAN_PLAY,
google.ima.AdEvent.Type.AD_METADATA,
google.ima.AdEvent.Type.ALL_ADS_COMPLETED,
google.ima.AdEvent.Type.CLICK,
google.ima.AdEvent.Type.COMPLETE,
google.ima.AdEvent.Type.CONTENT_PAUSE_REQUESTED,
google.ima.AdEvent.Type.CONTENT_RESUME_REQUESTED,
google.ima.AdEvent.Type.DURATION_CHANGE,
google.ima.AdEvent.Type.EXPANDED_CHANGED,
google.ima.AdEvent.Type.FIRST_QUARTILE,
google.ima.AdEvent.Type.IMPRESSION,
google.ima.AdEvent.Type.INTERACTION,
google.ima.AdEvent.Type.LINEAR_CHANGED,
google.ima.AdEvent.Type.LOADED,
google.ima.AdEvent.Type.LOG,
google.ima.AdEvent.Type.MIDPOINT,
google.ima.AdEvent.Type.PAUSED,
google.ima.AdEvent.Type.RESUMED,
google.ima.AdEvent.Type.SKIPPABLE_STATE_CHANGED,
google.ima.AdEvent.Type.SKIPPED,
google.ima.AdEvent.Type.STARTED,
google.ima.AdEvent.Type.THIRD_QUARTILE,
google.ima.AdEvent.Type.USER_CLOSE,
google.ima.AdEvent.Type.VIEWABLE_IMPRESSION,
google.ima.AdEvent.Type.VOLUME_CHANGED,
google.ima.AdEvent.Type.VOLUME_MUTED,
google.ima.AdErrorEvent.Type.AD_ERROR
];
window.addEventListener('resize', this.onWindowResize.bind(this));
};
PokktIMAWrapper.prototype.onAdEvent = function(event) {
var message = 'Ad event: ' + event.type;
log.i(message);
PokktIMAWrapper.prototype.playAd = function() {
this.player.ima.playAdBreak();
};
PokktIMAWrapper.prototype.pauseAd = function() {
this.player.pause();
};
PokktIMAWrapper.prototype.onWindowResize = function() {
var adContainer = document.getElementById('pokkt-ima-adcontainer');
var videoElement = document.getElementById('pokkt-video-ad');
var adContainerWidth = adContainer.offsetWidth;
var videoHeight = videoElement.offsetHeight;
function prepareIMA(debugEnabled) {
window.imaAds = new PokktIMAWrapper(debugEnabled);
}
function playAd() {
window.imaAds.playAd();
}
function pauseAd() {
window.imaAds.pauseAd();
}
</script>
</body>
</html>
:"mobilapp.opencart.doduae","iabCategoryName":"Shopping"},
{"id":662458,"bundleName":"com.fun.crazy.virtual.shopping.girl","iabCategoryName":"
Video & Computer Games"},
{"id":663374,"bundleName":"com.batoki.kids.toddlers.supermarket.shopping","iabCateg
oryName":"Video & Computer Games"},
{"id":663684,"bundleName":"com.kybertasi.sales.buycheap.mama.discounts.offers","iab
CategoryName":"Shopping"},
{"id":663733,"bundleName":"com.onlinebooks.srilanka","iabCategoryName":"Shopping"},
{"id":663807,"bundleName":"com.bookself","iabCategoryName":"Shopping"},
{"id":664517,"bundleName":"com.motorola.ccc.ota","iabCategoryName":"Business"},
{"id":664584,"bundleName":"com.tabsa.atm.machine.kids.shopping","iabCategoryName":"
Video & Computer Games"},
{"id":664809,"bundleName":"com.blogspot.aio.samapp4","iabCategoryName":"Shopping"},
{"id":664863,"bundleName":"china.womans.clothing","iabCategoryName":"Shopping"},
{"id":666001,"bundleName":"com.hudio.fashion.store.shop.freehiddenobjects","iabCate
goryName":"Board Games/Puzzles"},
{"id":668165,"bundleName":"com.webelinx.HiddenObjects.ConstructionSite","iabCategor
yName":"Board Games/Puzzles"},
{"id":668639,"bundleName":"com.playgendary.tanks","iabCategoryName":"Video &
Computer Games"},
{"id":668923,"bundleName":"com.playwithgames.ExpoParking","iabCategoryName":"Auto
Racing"},
{"id":670189,"bundleName":"com.truevuee.mygrocery","iabCategoryName":"Shopping"},
{"id":670638,"bundleName":"vn.tiki.app.tikiandroid","iabCategoryName":"Shopping"},
{"id":671013,"bundleName":"com.tt.blackfriday.shoping","iabCategoryName":"Video &
Computer Games"},
{"id":671337,"bundleName":"com.appatrix.shopping.black.store.mall","iabCategoryName
":"https://itunes.apple.com/us/app/girl-shopping-mall-simulator/id1316864144?
mt=8&uo=4"},
{"id":672599,"bundleName":"com.nuttygames.sale.cashier.girl","iabCategoryName":"Vid
eo & Computer Games"},
{"id":673785,"bundleName":"com.gam3dude.supermarket.shopping.rccartsimulator","iabC
ategoryName":"Auto Racing"},
{"id":674038,"bundleName":"com.tabsa.shopping.mall.grocery.store","iabCategoryName"
:"Video & Computer Games"},
{"id":675926,"bundleName":"com.kybertasi.sales.buycheap.home.discounts.offers","iab
CategoryName":"Shopping"},
{"id":676415,"bundleName":"com.flyingelephantlab.yaoota","iabCategoryName":"Shoppin
g"},
{"id":679794,"bundleName":"com.playkids.girl.love.cashiergames.shoppingmall.cashreg
ister","iabCategoryName":"Video & Computer Games"},
{"id":680761,"bundleName":"com.tenlogix.fashion.mall.cash.register.games","iabCateg
oryName":"Video & Computer Games"},
{"id":680762,"bundleName":"com.tenlogix.home.decor.baby.store.cashier","iabCategory
Name":"Video & Computer Games"},
{"id":681934,"bundleName":"com.appricot2d.shopping.mall.cashier.girl.game","iabCate
goryName":"Video & Computer Games"},
{"id":682216,"bundleName":"com.dwk.shoppingmaze","iabCategoryName":"Board
Games/Puzzles"},
{"id":682422,"bundleName":"com.girlsgamesfree.indian.kite.shopping.mall","iabCatego
ryName":"Video & Computer Games"},
{"id":682850,"bundleName":"com.kixolabs.supermarket.cashier.shopping","iabCategoryN
ame":"Video & Computer Games"},
{"id":684463,"bundleName":"com.appricot2d.girls.fashion.store.cashier","iabCategory
Name":"Video & Computer Games"},
{"id":684464,"bundleName":"com.appricot2d.girls.fashion.store.cashier","iabCategory
Name":"Video & Computer Games"},
{"id":684815,"bundleName":"com.gameslogicinteractive.kidssupermarketshoppingadventu
re","iabCategoryName":"Video & Computer Games"},
{"id":684816,"bundleName":"com.gameslogicinteractive.kidssupermarketshoppingadventu
re","iabCategoryName":"Video & Computer Games"},
{"id":686084,"bundleName":"com.nuttygames.farm.cashier.manager.register","iabCatego
ryName":"Video & Computer Games"},
{"id":686364,"bundleName":"com.tabsa.grocery.store.cashier.supermarket.shopping.mal
l","iabCategoryName":"Video & Computer Games"},
{"id":687249,"bundleName":"com.tabsa.shopping.mall.cash.manager","iabCategoryName":
"Video & Computer Games"},
{"id":688199,"bundleName":"thehunt.shoptap.thehunt","iabCategoryName":"Shopping"},
{"id":689558,"bundleName":"com.tabsa.santa.cashier.register.manager","iabCategoryNa
me":"Role Playing"},
{"id":689615,"bundleName":"com.kidsgamesfactory.kite.fight.shopping.mall","iabCateg
oryName":"Video & Computer Games"},
{"id":689813,"bundleName":"com.funloop.shopping.girl.shoe.mall","iabCategoryName":"
Video & Computer Games"},
{"id":691496,"bundleName":"com.mobilesimuniverse.supermarketshoppingsimulator","iab
CategoryName":"Auto Racing"},
{"id":691893,"bundleName":"com.motorola.migrate","iabCategoryName":"Business"},
{"id":692268,"bundleName":"com.lwfd.vietnamvpn","iabCategoryName":"Business"},
{"id":692635,"bundleName":"air.ldgameStudio.PrincessFashionLdMallShooping","iabCate
goryName":"Video & Computer Games"},
{"id":692935,"bundleName":"com.hollar.android","iabCategoryName":"Shopping"},
{"id":693859,"bundleName":"com.digital.shopping.apps.india.lite","iabCategoryName":
"Shopping"},
{"id":694064,"bundleName":"com.fun.crazy.grocerry.store.cash.manager","iabCategoryN
ame":"Video & Computer Games"},
{"id":695044,"bundleName":"com.koovs.fashion","iabCategoryName":"Shopping"},
{"id":695239,"bundleName":"com.motorola.genie","iabCategoryName":"Business"},
{"id":695782,"bundleName":"com.playon.girls.games.Girls.Fashion.Designers.City.Stor
e.Shopping.Mall","iabCategoryName":"Video & Computer Games"},
{"id":696758,"bundleName":"com.kybertasi.sales.buycheap.fashion.discounts.offers","
iabCategoryName":"Shopping"},
{"id":697787,"bundleName":"com.kclinkin.onlineshoppingindia","iabCategoryName":"Sho
pping"},
{"id":699798,"bundleName":"com.kidsplaytoy.shop","iabCategoryName":"https://play.go
ogle.com/store/apps/details?id=com.kidsplaytoy.shop"},
{"id":699938,"bundleName":"com.playkids.shoppingmall.cashier.cashregister","iabCate
goryName":"Video & Computer Games"},
{"id":699948,"bundleName":"com.mobincube.low_carbohydrate_foods_shopping_list.sc_HE
UTWN","iabCategoryName":"Food & Drink"},
{"id":700123,"bundleName":"com.technomentor.shoppingdealsincanada","iabCategoryName
":"Shopping"},
{"id":701368,"bundleName":"com.adamrocker.android.input.simeji.global.sticker.black
fridayshoppingemoji","iabCategoryName":"Uncategorized"},
{"id":701578,"bundleName":"com.nuttygames.newyear.sale.cashier.fashion","iabCategor
yName":"Video & Computer Games"},
{"id":701873,"bundleName":"com.appricot2d.christmas.toy.shopping.mall.cashier","iab
CategoryName":"Video & Computer Games"},
{"id":702224,"bundleName":"com.zappos.android","iabCategoryName":"Shopping"},
{"id":703024,"bundleName":"com.hopelesskids.shop","iabCategoryName":"Parenting"},
{"id":703044,"bundleName":"com.jet.jet.app","iabCategoryName":"Shopping"},
{"id":704273,"bundleName":"com.digitalgene.shopping","iabCategoryName":"Education"}
,{"id":706204,"bundleName":"atozshoppingapp.com","iabCategoryName":"Shopping"},
{"id":707362,"bundleName":"com.wishshop.zakaniricop127HJ","iabCategoryName":"Arts &
Entertainment"},
{"id":707928,"bundleName":"milan.shopping.malls.boutique.sales.sexy.womens","iabCat
egoryName":"Shopping"},
{"id":707929,"bundleName":"paris.shopping.fashion.clothing.dresses.discount.sexy.gi
rls","iabCategoryName":"Shopping"},
{"id":709815,"bundleName":"com.fun.my.shopping.mall.manager","iabCategoryName":"Vid
eo & Computer Games"},
{"id":710214,"bundleName":"com.innovategameslab.supermarketshoppingsimulatorfree","
iabCategoryName":"Video & Computer Games"},
{"id":710313,"bundleName":"com.kybertasi.sales.buycheap.sports.discounts.offers","i
abCategoryName":"Shopping"},
{"id":710784,"bundleName":"com.nnnow.arvind","iabCategoryName":"Shopping"},
{"id":712524,"bundleName":"com.mirraw.android.lehengas","iabCategoryName":"Shopping
"},
{"id":712705,"bundleName":"com.mirraw.rings.online.shopping","iabCategoryName":"Sho
pping"},
{"id":712711,"bundleName":"com.hdgames.store.cashier.supermarket.shooping.kids.fun"
,"iabCategoryName":"Auto Racing"},
{"id":713198,"bundleName":"com.google.android.inputmethod.pinyin","iabCategoryName"
:"Business"},
{"id":714150,"bundleName":"shoppingmart.menshopping","iabCategoryName":"Shopping"},
{"id":714274,"bundleName":"com.mirraw.necklace.online.shopping","iabCategoryName":"
Shopping"},{"id":714527,"bundleName":"in.swiggy.android","iabCategoryName":"Food
& Drink"},
{"id":715455,"bundleName":"com.gsstudio.supermarket.commute.car.sim","iabCategoryNa
me":"Auto Racing"},
{"id":716543,"bundleName":"gift.present.bounty.reward.donative.pledge","iabCategory
Name":"https://play.google.com/store/apps/details?
id=gift.present.bounty.reward.donative.pledge"},
{"id":716556,"bundleName":"in.co.bestshoppingdeals","iabCategoryName":"Shopping"},
{"id":716683,"bundleName":"shoppingmart.womenshopping","iabCategoryName":"Shopping"
},
{"id":716687,"bundleName":"snapapp.shopping.onlinesites","iabCategoryName":"Shoppin
g"},
{"id":719386,"bundleName":"com.prettysecrets.shop_bra","iabCategoryName":"Shopping"
},
{"id":721465,"bundleName":"com.pakistan.online.shopping","iabCategoryName":"Shoppin
g"},
{"id":721466,"bundleName":"com.top.onlineUSA.shops","iabCategoryName":"Shopping"},
{"id":722293,"bundleName":"com.google.android.talk","iabCategoryName":"Uncategorize
d"},
{"id":723489,"bundleName":"com.tech.akhilesh.shoppinghub","iabCategoryName":"Shoppi
ng"},
{"id":725164,"bundleName":"com.sareesbazaar.bollywoodreplicas.onlineshopping","iabC
ategoryName":"Shopping"},
{"id":728990,"bundleName":"com.gm.realcarshoppingmallparking","iabCategoryName":"Au
to Racing"},
{"id":731058,"bundleName":"com.rps.shoppingmall.girl","iabCategoryName":"Video &
Computer Games"},
{"id":731145,"bundleName":"com.seventwostudios.shopping.mall.girl.cashier","iabCate
goryName":"Video & Computer Games"},
{"id":731299,"bundleName":"com.socialappdevfadoo.sarees","iabCategoryName":"Society
"},
{"id":732755,"bundleName":"com.perfectcorp.beautycircle","iabCategoryName":"Beauty"
},
{"id":732970,"bundleName":"mypenguin.com.savingshopping","iabCategoryName":"Shoppin
g"},
{"id":733081,"bundleName":"online.thailand.shopping","iabCategoryName":"Shopping"},
{"id":733496,"bundleName":"com.online.shopping.pcomp","iabCategoryName":"Shopping"}
,{"id":735061,"bundleName":"com.opex.m
akemyvideostatus","iabCategoryName":"Video Players & Editors"},
{"id":736135,"bundleName":"vn.icheck.android","iabCategoryName":"Shopping"},
{"id":736228,"bundleName":"com.ruchisarees.thefashionhub","iabCategoryName":"Shoppi
ng"},
{"id":736266,"bundleName":"com.tradetu.ecommerce.dtashion","iabCategoryName":"Shopp
ing"},
{"id":736301,"bundleName":"com.ss.android.ugc.boomlite","iabCategoryName":"Arts &
Entertainment"},
{"id":737075,"bundleName":"com.g2kids.atm.learning","iabCategoryName":"Role
Playing"},
{"id":741365,"bundleName":"it.trovaprezzi.android","iabCategoryName":"Shopping"},
{"id":741367,"bundleName":"com.vipbrands","iabCategoryName":"Shopping"},
{"id":742250,"bundleName":"gotit.com.gotit","iabCategoryName":"Shopping"},
{"id":742251,"bundleName":"com.ihsoft.qb.user","iabCategoryName":"Travel &
Local"},{"id":742252,"bundleName":"com.babylon.apps","iabCategoryName":"Shopping"},
{"id":742738,"bundleName":"com.kes.princess.fashion.model","iabCategoryName":"Video
& Computer Games"},
{"id":745034,"bundleName":"com.bhimarti.customer","iabCategoryName":"Shopping"},
{"id":747122,"bundleName":"com.pas.superhero.valet.car.parking.mania3d","iabCategor
yName":"Auto Racing"},
{"id":747746,"bundleName":"it.mgiardinetto.buy","iabCategoryName":"Shopping"},
{"id":748894,"bundleName":"com.grocery.shoppingallinone","iabCategoryName":"Shoppin
g"},
{"id":751273,"bundleName":"com.nuttygames.supermarket.girl.cashier.games","iabCateg
oryName":"Auto Racing"},
{"id":752705,"bundleName":"com.priyamore715.wooplr_online_shopping_app_application"
,"iabCategoryName":"Shopping"},
{"id":756836,"bundleName":"com.gamesforgirlsfree.richgirl","iabCategoryName":"Video
& Computer Games"},
{"id":758292,"bundleName":"one.kart.android","iabCategoryName":"Shopping"},
{"id":758522,"bundleName":"bwebmedia.shoppingmall","iabCategoryName":"Video &
Computer Games"},
{"id":758767,"bundleName":"com.dts.supermarket.transform.robot.cart.sim","iabCatego
ryName":"Video & Computer Games"},
{"id":758851,"bundleName":"com.hippogames.ludosaga","iabCategoryName":"Board
Games/Puzzles"},
{"id":760920,"bundleName":"com.rps.supermarket.grocery","iabCategoryName":"Video &
Computer Games"},
{"id":761293,"bundleName":"com.bidorbuy.app","iabCategoryName":"Shopping"},
{"id":762851,"bundleName":"lionstudios.com.OnlineShoppingAllInone","iabCategoryName
":"Shopping"},
{"id":765527,"bundleName":"com.twotwentygames.supermarket.simulator.grocery.store.g
irl.shopping","iabCategoryName":"Auto Racing"},
{"id":766067,"bundleName":"com.appstune.levies","iabCategoryName":"Shopping"},
{"id":767318,"bundleName":"mos.util.shopping","iabCategoryName":"Shopping"},
{"id":768321,"bundleName":"com.tencent.ig","iabCategoryName":"Video & Computer
Games"},
{"id":768878,"bundleName":"com.babygiraffe.shoppingpandasupermarket","iabCategoryNa
me":"Video & Computer Games"},
{"id":769549,"bundleName":"com.playtoddlers.dailyshoppingstories.free","iabCategory
Name":"Video & Computer Games"},
{"id":769938,"bundleName":"com.nodat","iabCategoryName":"Travel & Local"},
{"id":770338,"bundleName":"com.sablo.shoppingmaalconstruction","iabCategoryName":"V
ideo & Computer Games"},
{"id":770403,"bundleName":"com.shopping.mall.girl.fashion.fun.hdgame3d","iabCategor
yName":"Video & Computer Games"},
{"id":770781,"bundleName":"com.superbalist.android","iabCategoryName":"Shopping"},
{"id":771157,"bundleName":"com.google.android.launcher","iabCategoryName":"Business
"},
{"id":773358,"bundleName":"com.naveenmahto0.stylo","iabCategoryName":"Shopping"},
{"id":774710,"bundleName":"net.onlineshoppingapps.shoppingapps","iabCategoryName":"
Shopping"},
{"id":774783,"bundleName":"com.mistminds.pakka","iabCategoryName":"Shopping"},
{"id":774828,"bundleName":"com.play.io.shopping.mall.radio.taxi.car.driving.taxi.ga
me","iabCategoryName":"Auto Racing"},
{"id":776451,"bundleName":"com.girlsgames.colola","iabCategoryName":"Video &
Computer Games"},
{"id":777313,"bundleName":"taptrendinggames.supermarketcarsimulator","iabCategoryNa
me":"Auto Racing"},
{"id":777932,"bundleName":"com.expertinapps.supermarket.shopping.mall.girl","iabCat
egoryName":"Video & Computer Games"},
{"id":777933,"bundleName":"com.expertinapps.supermarket.shopping.mall.girl","iabCat
egoryName":"Video & Computer Games"},
{"id":778721,"bundleName":"com.rgs.virtual.shopping.mall.supermarket.manager.game",
"iabCategoryName":"Video & Computer Games"},
{"id":779111,"bundleName":"com.wpl.shopping.mall.taxi.driver.car.games","iabCategor
yName":"Auto Racing"},
{"id":779914,"bundleName":"com.gsstudio.shopping.mall.toy.car.race.sim","iabCategor
yName":"Auto Racing"},
{"id":781085,"bundleName":"com.jio.myjio","iabCategoryName":"Business"},
{"id":781118,"bundleName":"com.scn.sudokuchamp","iabCategoryName":"Board
Games/Puzzles"},
{"id":781988,"bundleName":"com.mm.shopping.mall.driving.car.sim","iabCategoryName":
"Auto Racing"},
{"id":783458,"bundleName":"com.bluehorntech.halloweenpartyfoodcashregister","iabCat
egoryName":"Video & Computer Games"},
{"id":783476,"bundleName":"com.gsstudio.shopping.mall.tourists.train.sim","iabCateg
oryName":"Auto Racing"},
{"id":784228,"bundleName":"com.fun.crazy.futuristic.market.cashier","iabCategoryNam
e":"Video & Computer Games"},
{"id":784253,"bundleName":"com.gsstudio.shopping.mall.toy.car.race.sim","iabCategor
yName":"Video & Computer Games"},
{"id":788085,"bundleName":"com.shortshop.shortcutapp","iabCategoryName":"Shopping"}
,
{"id":789368,"bundleName":"com.ajgaming.shopping.mall.cart.sim","iabCategoryName":"
Auto Racing"},
{"id":789938,"bundleName":"com.funcamerastudio.videomaker","iabCategoryName":"Video
Players & Editors"},
{"id":789992,"bundleName":"com.girlsgamesfree.little.tailor.shopping.girl","iabCate
goryName":"Video & Computer Games"},
{"id":790407,"bundleName":"com.nextwave.battleofchepauk2","iabCategoryName":"Sports
"},
{"id":790891,"bundleName":"com.tgg.summerprincessshoppingmall","iabCategoryName":"V
ideo & Computer Games"},
{"id":792465,"bundleName":"com.skygamingstudio.virtual.family.richgirl.shopping.mal
l.supermarket.mania2018","iabCategoryName":"Video & Computer Games"},
{"id":792851,"bundleName":"women.sarees.online.shopping","iabCategoryName":"Society
"},
{"id":792852,"bundleName":"women.sarees.online.shopping","iabCategoryName":"Society
"},
{"id":793319,"bundleName":"women.workout.female.fitness","iabCategoryName":"Health
& Fitness"},
{"id":794470,"bundleName":"com.tbegames.and.best_monster_racing","iabCategoryName":
"Auto Racing"},
{"id":795365,"bundleName":"com.ganesh.pricecompare_onlineshoipping","iabCategoryNam
e":"Shopping"},
{"id":795499,"bundleName":"com.bearhugmedia.richgirl.shopping.mania","iabCategoryNa
me":"Video & Computer Games"},
{"id":798476,"bundleName":"com.whopperbay.bigdiscounts","iabCategoryName":"Shopping
"},
{"id":799283,"bundleName":"com.nag.shopping.mall.taxi.driver.family.taxi.games","ia
bCategoryName":"Auto Racing"},
{"id":800270,"bundleName":"com.ireland.onlineshopping","iabCategoryName":"Shopping"
},
{"id":800272,"bundleName":"com.Hemba.supermarket.shoping.cooking","iabCategoryName"
:"Video & Computer Games"},
{"id":800690,"bundleName":"air.com.shopping.mall.personal.shopper.fashion.star.styl
e.model","iabCategoryName":"Video & Computer Games"},
{"id":802020,"bundleName":"com.sgs.supermarket.shopping3D","iabCategoryName":"Auto
Racing"},
{"id":802452,"bundleName":"com.play.io.shopping.mall.atv.quad.bike.radio.taxi.games
","iabCategoryName":"Auto Racing"},
{"id":802723,"bundleName":"com.gsstudio.shopping.mall.tourists.train.sim","iabCateg
oryName":"Video & Computer Games"},
{"id":803311,"bundleName":"com.rg.supermaket.shopping.cart.car.driving","iabCategor
yName":"Auto Racing"},
{"id":804846,"bundleName":"com.a1games.shoppingfashionlifestylemallgirl","iabCatego
ryName":"Video & Computer Games"},
{"id":805566,"bundleName":"com.canada.onlineshoppingtoronto","iabCategoryName":"Sho
pping"},
{"id":806116,"bundleName":"air.com.rosytales.mallshoppingwithmygirl","iabCategoryNa
me":"Video & Computer Games"},
{"id":806650,"bundleName":"com.nuttygames.royal.princess.cashier.game","iabCategory
Name":"Auto Racing"},
{"id":807052,"bundleName":"net.beautysalongames.bff.rich.girls.shopping","iabCatego
ryName":"Role Playing"},
{"id":807297,"bundleName":"com.krispi.amazon.giftcards.online.shopping","iabCategor
yName":"Arts & Entertainment"},
{"id":807899,"bundleName":"com.tygame.apartment29","iabCategoryName":"Board
Games/Puzzles"},
{"id":808008,"bundleName":"com.korchix.chineoapp","iabCategoryName":"Shopping"},
{"id":808060,"bundleName":"com.inone.in","iabCategoryName":"Shopping"},
{"id":808749,"bundleName":"com.allinone.onlineshoppingapp","iabCategoryName":"Shopp
ing"},
{"id":808848,"bundleName":"com.threedbrains.shopping.mall.taxi.driving.simulator","
iabCategoryName":"Auto Racing"},
{"id":809116,"bundleName":"com.cgs.supermarket.shopping.mall.cashier","iabCategoryN
ame":"Auto Racing"},
{"id":809771,"bundleName":"com.motorola.motodisplay","iabCategoryName":"Business"},
{"id":810388,"bundleName":"indian.shopping.allinone.online","iabCategoryName":"Shop
ping"},
{"id":810629,"bundleName":"com.dream11sportsguru","iabCategoryName":"Sports"},
{"id":811502,"bundleName":"com.zuhragames.cashregistershoppinglist","iabCategoryNam
e":"Video & Computer Games"},
{"id":812320,"bundleName":"com.opera.app.news","iabCategoryName":"News &
Magazines"},{"id":812616,"bundleName":"com.mycity4kids","iabCategoryName":"Family &
Parenting"},
{"id":812856,"bundleName":"com.motorola.fmplayer","iabCategoryName":"Video Players
& Editors"},
{"id":813035,"bundleName":"ScanTag.ndk.det","iabCategoryName":"Society"},
{"id":816422,"bundleName":"com.promocodeclub","iabCategoryName":"Shopping"},
{"id":817537,"bundleName":"com.c.coders.shopping.mall.luxury.taxi","iabCategoryName
":"Auto Racing"},
{"id":817600,"bundleName":"com.jackthreads.android","iabCategoryName":"Shopping"},
{"id":818751,"bundleName":"makeup.for.cheap","iabCategoryName":"Shopping"},
{"id":819139,"bundleName":"com.onlineshopping.allinonedeals","iabCategoryName":"Sho
pping"},
{"id":820925,"bundleName":"com.dhananinishith300.shopping","iabCategoryName":"Shopp
ing"},{"id":821271,"bundleName":"com.mm.multil
evelparking.simulator","iabCategoryName":"Auto Racing"},
{"id":821739,"bundleName":"com.topsmartapps.myapps.eboffdeals","iabCategoryName":"S
hopping"},{"id":822296,"bundleName":"id.saldoku","iabCategoryName":"Business"},
{"id":822371,"bundleName":"jewelry.bijouterie.cheap","iabCategoryName":"Shopping"},
{"id":822589,"bundleName":"com.smilestonesstudio.wedding.bride.at.shopping.mall","i
abCategoryName":"Video & Computer Games"},
{"id":822941,"bundleName":"online.shoppingcart","iabCategoryName":"Shopping"},
{"id":823193,"bundleName":"com.yippeegamers.rich.girl.shopping.mall","iabCategoryNa
me":"Video & Computer Games"},
{"id":823458,"bundleName":"id.compro.amigofashionshopping","iabCategoryName":"Shopp
ing"},
{"id":824079,"bundleName":"com.playwithgames.ShoppingMall3","iabCategoryName":"Auto
Racing"},
{"id":824733,"bundleName":"com.vova.android","iabCategoryName":"Shopping"},
{"id":825831,"bundleName":"com.gokids.supermarket","iabCategoryName":"Video &
Computer Games"},
{"id":825997,"bundleName":"com.kidsfunstudio.mall.shopping.dress.up.salon","iabCate
goryName":"Video & Computer Games"},
{"id":826059,"bundleName":"com.threed.shopping.mall.easy.taxi.driver.happy.family.t
ransport.game","iabCategoryName":"Auto Racing"},
{"id":828464,"bundleName":"com.cash.manager.city.departmental.store.shopping.marts"
,"iabCategoryName":"Auto Racing"},
{"id":829040,"bundleName":"com.epicempiregames.supermarket","iabCategoryName":"Auto
Racing"},
{"id":830248,"bundleName":"ch.deindeal.android","iabCategoryName":"Shopping"},
{"id":832015,"bundleName":"com.oceanhouse_media.book5lmgoshopping_app","iabCategory
Name":"Books & Reference"},
{"id":832273,"bundleName":"com.twodfunclub.shopping.mall.repairing","iabCategoryNam
e":"Video & Computer Games"},
{"id":832850,"bundleName":"com.sportswear1.wear1","iabCategoryName":"Shopping"},
{"id":833858,"bundleName":"com.stylinecollection","iabCategoryName":"Society"},
{"id":834026,"bundleName":"com.daigou.sg","iabCategoryName":"Shopping"},
{"id":834576,"bundleName":"online.malaysia.shopping","iabCategoryName":"Shopping"},
{"id":835441,"bundleName":"com.hangonapps.blessed.friday.shopping.mall","iabCategor
yName":"Video & Computer Games"},
{"id":836950,"bundleName":"com.rgo47.app","iabCategoryName":"Shopping"},
{"id":837472,"bundleName":"shopping.list.lista.compra.liston","iabCategoryName":"Sh
opping"},
{"id":837473,"bundleName":"com.spencerstudios.shoppinglist","iabCategoryName":"Busi
ness"},{"id":838053,"bundleName":"com.anantkart","iabCategoryName":"Business"},
{"id":838450,"bundleName":"ru.grocerylist.android.pro","iabCategoryName":"Shopping"
},{"id":838599,"bundleName":"com.lulu.shopping","iabCategoryName":"Shopping"},
{"id":840723,"bundleName":"com.twotwentygames.shopping.mall.radio.taxi.sim","iabCat
egoryName":"Auto Racing"},
{"id":840886,"bundleName":"ecommerce.com.masikini","iabCategoryName":"Shopping"},
{"id":842466,"bundleName":"com.tlz.tbdress","iabCategoryName":"Shopping"},
{"id":842523,"bundleName":"com.wIfazone_7147835","iabCategoryName":"Shopping"},
{"id":842809,"bundleName":"com.gift.cards.walm.storexz","iabCategoryName":"Arts &
Entertainment"},
{"id":844564,"bundleName":"free.fancy.wanelo.dropship.factoryprice.wholesale.bestsd
eals.free.com.bestdeals","iabCategoryName":"Shopping"},
{"id":844632,"bundleName":"com.funfort.cinderella.shopping.mall.girl","iabCategoryN
ame":"Video & Computer Games"},
{"id":844803,"bundleName":"com.grocery.bags","iabCategoryName":"Shopping"},
{"id":845131,"bundleName":"de.tn_software.CleverListLicense","iabCategoryName":"Sho
pping"},{"id":845134,"bundleName":"io.purse.app","iabCategoryName":"Shopping"},
{"id":845596,"bundleName":"yazilim.hilal.yesil.easyshoppinglist","iabCategoryName":
"Shopping"},
{"id":846002,"bundleName":"com.popular.latestdeals","iabCategoryName":"Arts &
Entertainment"},
{"id":846843,"bundleName":"com.CloudieNetwork.GadgetFlow","iabCategoryName":"Shoppi
ng"},{"id":847986,"bundleName":"com.ipcapp","iabCategoryName":"Society"},
{"id":848125,"bundleName":"com.fashion.shopping.hdgame3d.mall.girl.fun","iabCategor
yName":"Video & Computer Games"},
{"id":848587,"bundleName":"all.inoneshopping5","iabCategoryName":"Shopping"},
{"id":848633,"bundleName":"com.pushcart.customer","iabCategoryName":"Shopping"},
{"id":848840,"bundleName":"com.onelabs.oneshop","iabCategoryName":"Shopping"},
{"id":849381,"bundleName":"com.topinapps.supermarketfoodshopping","iabCategoryName"
:"Video & Computer Games"},
{"id":850487,"bundleName":"com.bluehorntech.shoppingmallhighschoolfashiongame","iab
CategoryName":"Video & Computer Games"},
{"id":850672,"bundleName":"com.gam3dude.shopping.mall.car.parking","iabCategoryName
":"Video & Computer Games"},
{"id":851087,"bundleName":"chinese.goods.online.cheap","iabCategoryName":"Shopping"
},
{"id":852145,"bundleName":"com.sb.shopping.mall.taxi.driver","iabCategoryName":"Vid
eo & Computer Games"},
{"id":897429,"bundleName":"1234842618","iabCategoryName":"Video & Computer Games"},
{"id":897739,"bundleName":"1367931719","iabCategoryName":"Video & Computer Games"},
{"id":898753,"bundleName":"1384794395","iabCategoryName":"Video & Computer Games"},
{"id":900807,"bundleName":"1348662911","iabCategoryName":"Shopping"},
{"id":906124,"bundleName":"1354981518","iabCategoryName":"Video & Computer Games"},
{"id":909044,"bundleName":"1372070259","iabCategoryName":"Video & Computer Games"},
{"id":910623,"bundleName":"1437234557","iabCategoryName":"Video & Computer Games"},
{"id":918064,"bundleName":"1439665799","iabCategoryName":"Shopping"},
{"id":923213,"bundleName":"1035322849","iabCategoryName":"Video & Computer Games"},
{"id":929556,"bundleName":"1438645170","iabCategoryName":"Video & Computer Games"},
{"id":958243,"bundleName":"1061027165","iabCategoryName":"Video & Computer Games"},
{"id":971962,"bundleName":"1320797984","iabCategoryName":"Video & Computer Games"},
{"id":989572,"bundleName":"1444871569","iabCategoryName":"Video & Computer Games"},
{"id":999006,"bundleName":"1175352154","iabCategoryName":"Video & Computer Games"},
{"id":1006328,"bundleName":"com.outfit7.mytalkingtom2","iabCategoryName":""}]}
1563446510170 com.zapak.ben10alienrace
Duplicate:co.tinybit.supermarket.shopping.fun Video & Computer Games
1563446510171 com.zapak.ben10alienrace Duplicate:com.headcode.ourgroceries Shopping
1563446510172 com.zapak.ben10alienrace
Duplicate:co.romesoft.kids.shopping.supermarket Video & Computer Games
1563446510178 com.zapak.ben10alienrace
Duplicate:co.tinybit.shopping.mall.rich.girls Video & Computer Games
1563446510180 com.zapak.ben10alienrace
Duplicate:com.tgg.shoppingmallshopaholicgirls Video & Computer Games
1563446510185 com.zapak.ben10alienrace
Duplicate:com.kixolabs.supermarket.cashier.shopping Video & Computer Games
1563446510185 com.zapak.ben10alienrace
Duplicate:com.appricot2d.girls.fashion.store.cashier Video & Computer Games
1563446510186 com.zapak.ben10alienrace
Duplicate:com.gameslogicinteractive.kidssupermarketshoppingadventure Video &
Computer Games
1563446510187 com.zapak.ben10alienrace
Duplicate:com.expertinapps.supermarket.shopping.mall.girl Video & Computer Games
1563446510187 com.zapak.ben10alienrace
Duplicate:com.gsstudio.shopping.mall.toy.car.race.sim Video & Computer Games
1563446510188 com.zapak.ben10alienrace
Duplicate:com.gsstudio.shopping.mall.tourists.train.sim Video & Computer Games
log.d = function(msg) {
if (logLevel <= LOG_LEVEL.DEBUG) {
console.log("[DEBUG] " + msg);
}
};
log.i = function(msg) {
if (logLevel <= LOG_LEVEL.INFO) {
console.log("[INFO] " + msg);
}
};
log.w = function(msg) {
if (logLevel <= LOG_LEVEL.WARN) {
console.log("[WARN] " + msg);
}
};
log.e = function(msg) {
console.log("[ERROR] " + msg);
};
} ());
</script>
function is_pokkt_sdk() {
return true;
}
function pokkt_on_close() {
pauseAd();
if (typeof(Android) != "undefined" && Android.closeInterstitial) {
Android.closeInterstitial();
} else {
if (window.external && window.external.notify) {
window.external.notify("closeInterstitial");
}
}
}
function pokktOnComplete() {
if (typeof(Android) != "undefined" && Android.gratifyInterstitial)
{
Android.gratifyInterstitial();
} else {
if(window && window.external && window.external.notify) {
window.external.notify("gratifyInterstitial");
}
}
}
// function injectScript() {
// var Android = {};
// function closeInterstitial() {
// setTimeout(function() {
// window.location = 'pokkt://closeInterstitial';
// }, 1000);
// };
// function gratifyInterstitial() {
// window.location = 'pokkt://gratifyInterstitial';
// };
// Android.closeInterstitial = closeInterstitial;
// Android.gratifyInterstitial = gratifyInterstitial;
// window.Android = Android;
// }
// injectScript();
</script>
pokktOMIDBridge.createOMIDSession = function(omidSDKVersion,
vendors, partnerName, partnerVersion) {
log.i('creating omid session...');
var sessionClient;
try {
sessionClient = OmidSessionClient[omidSDKVersion];
} catch (e) {
log.i('error creating sessionClient!');
}
if (!sessionClient) {
log.i('sessionClient not available!');
pokktNativeBridge.notifyNative('omWrapperFailed');
return;
}
if (!resources.length) {
log.i('no verification resources found!');
pokktNativeBridge.notifyNative('omWrapperFailed');
return;
}
adSession.registerSessionObserver(function (event) {
log.i('omid session event: ' + event.type)
if (event.type === "sessionStart") {
videoEvents.loaded({ isSkippable: true, isAutoPlay:
true, position: 'standalone' });
adEvents.impressionOccurred();
} else if (event.type === "sessionError") {
log.i('session error occured! ' + event);
} else if (event.type === "sessionFinish") {
log.i('session finished!');
}
});
function initOMIDSession(pokktOMConfig) {
log.i('initializing omid session...');
<script type="text/javascript">
window.vjsPlayer = videojs('pokkt-video-ad', {
'controls':false,
'forceSSL':true
}, function () {
log.i('videojs is ready!');
setupEventListeners(this);
window.pokktNativeBridge.notifyNative('vjsPlayerReady');
//this.play();
});
if (isTagAnURL) {
vastClientSettings.adTagUrl = vastTag;
} else {
vastResponseXML = vastTag;
vastClientSettings.adTagXML = 'requestVASTXML';
}
window.vjsPlayer.vastClient(vastClientSettings);
}
function setupEventListeners(player) {
log.i('setting up listeners on player: ' + player);
player.on('vpaid.AdVideoStart', function(e) {
log.i('window.pokktOMIDBridge start');
player.on('vpaid.AdVideoFirstQuartile', function(e) {
log.i('window.pokktOMIDBridge first quartile');
player.on('vpaid.AdVideoMidpoint', function(e) {
log.i('window.pokktOMIDBridge midpoint');
if (window.pokktOMIDBridge === undefined ||
window.pokktOMIDBridge.videoEvents === undefined) {
log.i('bridge or video-events not available');
return;
}
window.pokktOMIDBridge.videoEvents.midpoint();
});
player.on('vpaid.AdVideoThirdQuartile', function(e) {
log.i('window.pokktOMIDBridge third quartile');
player.on('vpaid.AdVideoComplete', function(e) {
log.i('window.pokktOMIDBridge complete');
player.on('vpaid.AdSkipped', function(e) {
log.i('window.pokktOMIDBridge skipped');
player.on('vpaid.AdPaused', function(e) {
log.i('window.pokktOMIDBridge paused');
player.on('vpaid.AdPlaying', function(e) {
log.i('window.pokktOMIDBridge resumed');
player.on('vpaid.AdVolumeChange', function(e) {
log.i('window.pokktOMIDBridge volume changed');
window.pokktOMIDBridge.videoEvents.volumeChange(videoPlayerVolume);
});
}
function playAd() {
window.vjsPlayer.play();
}
function pauseAd() {
window.vjsPlayer.pause();
}
</script>
<script type="text/javascript">
// replace macros and call the following
// setupVJS(isTagAnURL, vastTag, moatData, moatPartnerCode);
setupVJS({{IS_TAG_A_URL}}, '{{VAST_TAG}}', {{MOAT_DATA}},
'{{MOAT_PARTNER_CODE}}');
</script>
</body>
</html>
<script src="https://imasdk.googleapis.com/js/sdkloader/ima3.js"></script>
<script src="https://s3-ap-southeast-
1.amazonaws.com/sdkplugin/imasupport/video.min.js"></script>
<script src="https://s3-ap-southeast-
1.amazonaws.com/sdkplugin/imasupport/videojs.ads.min.js"></script>
<script src="https://s3-ap-southeast-
1.amazonaws.com/sdkplugin/imasupport/videojs.ima.js"></script>
<script type="text/javascript">
/**
* console logger
**/
(function() {
var LOG_LEVEL = {
"DEBUG" : 0,
"INFO" : 1,
"WARNING" : 2,
"ERROR" : 3
};
log.d = function(msg) {
if (logLevel <= LOG_LEVEL.DEBUG) {
console.log("[DEBUG] " + msg);
}
};
log.i = function(msg) {
if (logLevel <= LOG_LEVEL.INFO) {
console.log("[INFO] " + msg);
}
};
log.w = function(msg) {
if (logLevel <= LOG_LEVEL.WARN) {
console.log("[WARN] " + msg);
}
};
log.e = function(msg) {
console.log("[ERROR] " + msg);
};
} ());
/**
* bridge
**/
(function() {
window.pokktNativeBridge = {};
window.pokktNativeBridge.notifyNative = function(operation, params) {
log.i('notifying native of: ' + operation + ' , with params: ' + params);
this.player = videojs('pokkt-video-ad');
this.player.fluid(true);
// Remove controls from the player on iPad to stop native controls from
stealing our click
if (navigator.userAgent.match(/iPad/i) ||
navigator.userAgent.match(/Android/i)){
var contentPlayer = document.getElementById('content_video_html5_api');
if (contentPlayer != null && contentPlayer.hasAttribute('controls')) {
contentPlayer.removeAttribute('controls');
}
this.player.controls(false);
}
var options = {
debug: debugEnabled,
id: 'pokkt-video-ad',
autoPlayAdBreaks: false,
showControlsForJSAds: false,
vpaidMode: 'INSECURE',
disableCustomPlaybackForIOS10Plus: true,
adsManagerLoadedCallback: this.adsManagerLoadedCallback.bind(this)
};
this.player.ima(options);
this.player.ima.setAdBreakReadyListener(function(){
log.i('ad-break ready, attempting ad playback...');
this.player.ima.playAdBreak();
});
pokktNativeBridge.notifyNative('wrapperPrepared');
};
this.player.ima.initializeAdDisplayContainer();
if (isAdTagAUrl) {
this.player.ima.setContentWithAdTag(null, adTag, false);
} else {
this.player.ima.setContentWithAdsResponse(null, adTag, false);
}
this.player.ima.requestAds();
};
PokktIMAWrapper.prototype.adsManagerLoadedCallback = function(event) {
log.i('ads-manager loaded, registering remaining listners...');
var events = [
google.ima.AdEvent.Type.AD_BREAK_READY,
google.ima.AdEvent.Type.AD_CAN_PLAY,
google.ima.AdEvent.Type.AD_METADATA,
google.ima.AdEvent.Type.ALL_ADS_COMPLETED,
google.ima.AdEvent.Type.CLICK,
google.ima.AdEvent.Type.COMPLETE,
google.ima.AdEvent.Type.CONTENT_PAUSE_REQUESTED,
google.ima.AdEvent.Type.CONTENT_RESUME_REQUESTED,
google.ima.AdEvent.Type.DURATION_CHANGE,
google.ima.AdEvent.Type.EXPANDED_CHANGED,
google.ima.AdEvent.Type.FIRST_QUARTILE,
google.ima.AdEvent.Type.IMPRESSION,
google.ima.AdEvent.Type.INTERACTION,
google.ima.AdEvent.Type.LINEAR_CHANGED,
google.ima.AdEvent.Type.LOADED,
google.ima.AdEvent.Type.LOG,
google.ima.AdEvent.Type.MIDPOINT,
google.ima.AdEvent.Type.PAUSED,
google.ima.AdEvent.Type.RESUMED,
google.ima.AdEvent.Type.SKIPPABLE_STATE_CHANGED,
google.ima.AdEvent.Type.SKIPPED,
google.ima.AdEvent.Type.STARTED,
google.ima.AdEvent.Type.THIRD_QUARTILE,
google.ima.AdEvent.Type.USER_CLOSE,
google.ima.AdEvent.Type.VIEWABLE_IMPRESSION,
google.ima.AdEvent.Type.VOLUME_CHANGED,
google.ima.AdEvent.Type.VOLUME_MUTED,
google.ima.AdErrorEvent.Type.AD_ERROR
];
window.addEventListener('resize', this.onWindowResize.bind(this));
};
PokktIMAWrapper.prototype.onAdEvent = function(event) {
var message = 'Ad event: ' + event.type;
log.i(message);
PokktIMAWrapper.prototype.playAd = function() {
this.player.ima.playAdBreak();
};
PokktIMAWrapper.prototype.pauseAd = function() {
this.player.pause();
};
PokktIMAWrapper.prototype.onWindowResize = function() {
var adContainer = document.getElementById('pokkt-ima-adcontainer');
var videoElement = document.getElementById('pokkt-video-ad');
var adContainerWidth = adContainer.offsetWidth;
var videoHeight = videoElement.offsetHeight;
function prepareIMA(debugEnabled) {
window.imaAds = new PokktIMAWrapper(debugEnabled);
}
function playAd() {
window.imaAds.playAd();
}
function pauseAd() {
window.imaAds.pauseAd();
}
</script>
</body>
</html>
log.d = function(msg) {
if (logLevel <= LOG_LEVEL.DEBUG) {
console.log("[DEBUG] " + msg);
}
};
log.i = function(msg) {
if (logLevel <= LOG_LEVEL.INFO) {
console.log("[INFO] " + msg);
}
};
log.w = function(msg) {
if (logLevel <= LOG_LEVEL.WARN) {
console.log("[WARN] " + msg);
}
};
log.e = function(msg) {
console.log("[ERROR] " + msg);
};
} ());
</script>
function is_pokkt_sdk() {
return true;
}
function pokkt_on_close() {
pauseAd();
if (typeof(Android) != "undefined" && Android.closeInterstitial) {
Android.closeInterstitial();
} else {
if (window.external && window.external.notify) {
window.external.notify("closeInterstitial");
}
}
}
function pokktOnComplete() {
if (typeof(Android) != "undefined" && Android.gratifyInterstitial)
{
Android.gratifyInterstitial();
} else {
if(window && window.external && window.external.notify) {
window.external.notify("gratifyInterstitial");
}
}
}
// function injectScript() {
// var Android = {};
// function closeInterstitial() {
// setTimeout(function() {
// window.location = 'pokkt://closeInterstitial';
// }, 1000);
// };
// function gratifyInterstitial() {
// window.location = 'pokkt://gratifyInterstitial';
// };
// Android.closeInterstitial = closeInterstitial;
// Android.gratifyInterstitial = gratifyInterstitial;
// window.Android = Android;
// }
// injectScript();
</script>
pokktOMIDBridge.createOMIDSession = function(omidSDKVersion,
vendors, partnerName, partnerVersion) {
log.i('creating omid session...');
var sessionClient;
try {
sessionClient = OmidSessionClient[omidSDKVersion];
} catch (e) {
log.i('error creating sessionClient!');
}
if (!sessionClient) {
log.i('sessionClient not available!');
pokktNativeBridge.notifyNative('omWrapperFailed');
return;
}
const AdSession = sessionClient.AdSession;
const Partner = sessionClient.Partner;
const Context = sessionClient.Context;
const VerificationScriptResource =
sessionClient.VerificationScriptResource;
const AdEvents = sessionClient.AdEvents;
const VideoEvents = sessionClient.VideoEvents;
if (!resources.length) {
log.i('no verification resources found!');
pokktNativeBridge.notifyNative('omWrapperFailed');
return;
}
adSession.registerSessionObserver(function (event) {
log.i('omid session event: ' + event.type)
if (event.type === "sessionStart") {
videoEvents.loaded({ isSkippable: true, isAutoPlay:
true, position: 'standalone' });
adEvents.impressionOccurred();
} else if (event.type === "sessionError") {
log.i('session error occured! ' + event);
} else if (event.type === "sessionFinish") {
log.i('session finished!');
}
});
function initOMIDSession(pokktOMConfig) {
log.i('initializing omid session...');
<script type="text/javascript">
window.vjsPlayer = videojs('pokkt-video-ad', {
'controls':false,
'forceSSL':true
}, function () {
log.i('videojs is ready!');
setupEventListeners(this);
window.pokktNativeBridge.notifyNative('vjsPlayerReady');
//this.play();
});
var vastResponseXML = '';
function requestVASTXML(callback) {
setTimeout(function () {
// the macro should be replaced with a proper VAST xml
callback(null, vastResponseXML);
}, 0);
}
if (isTagAnURL) {
vastClientSettings.adTagUrl = vastTag;
} else {
vastResponseXML = vastTag;
vastClientSettings.adTagXML = 'requestVASTXML';
}
window.vjsPlayer.vastClient(vastClientSettings);
}
function setupEventListeners(player) {
log.i('setting up listeners on player: ' + player);
player.on('vpaid.AdVideoStart', function(e) {
log.i('window.pokktOMIDBridge start');
player.on('vpaid.AdVideoFirstQuartile', function(e) {
log.i('window.pokktOMIDBridge first quartile');
player.on('vpaid.AdVideoMidpoint', function(e) {
log.i('window.pokktOMIDBridge midpoint');
player.on('vpaid.AdVideoThirdQuartile', function(e) {
log.i('window.pokktOMIDBridge third quartile');
player.on('vpaid.AdVideoComplete', function(e) {
log.i('window.pokktOMIDBridge complete');
player.on('vpaid.AdSkipped', function(e) {
log.i('window.pokktOMIDBridge skipped');
player.on('vpaid.AdPaused', function(e) {
log.i('window.pokktOMIDBridge paused');
player.on('vpaid.AdPlaying', function(e) {
log.i('window.pokktOMIDBridge resumed');
if (window.pokktOMIDBridge === undefined ||
window.pokktOMIDBridge.videoEvents === undefined) {
log.i('bridge or video-events not available');
return;
}
window.pokktOMIDBridge.videoEvents.resume();
});
player.on('vpaid.AdVolumeChange', function(e) {
log.i('window.pokktOMIDBridge volume changed');
window.pokktOMIDBridge.videoEvents.volumeChange(videoPlayerVolume);
});
}
function playAd() {
window.vjsPlayer.play();
}
function pauseAd() {
window.vjsPlayer.pause();
}
</script>
<script type="text/javascript">
// replace macros and call the following
// setupVJS(isTagAnURL, vastTag, moatData, moatPartnerCode);
setupVJS({{IS_TAG_A_URL}}, '{{VAST_TAG}}', {{MOAT_DATA}},
'{{MOAT_PARTNER_CODE}}');
</script>
</body>
</html>
<script src="https://imasdk.googleapis.com/js/sdkloader/ima3.js"></script>
<script src="https://s3-ap-southeast-
1.amazonaws.com/sdkplugin/imasupport/video.min.js"></script>
<script src="https://s3-ap-southeast-
1.amazonaws.com/sdkplugin/imasupport/videojs.ads.min.js"></script>
<script src="https://s3-ap-southeast-
1.amazonaws.com/sdkplugin/imasupport/videojs.ima.js"></script>
<script type="text/javascript">
/**
* console logger
**/
(function() {
var LOG_LEVEL = {
"DEBUG" : 0,
"INFO" : 1,
"WARNING" : 2,
"ERROR" : 3
};
log.d = function(msg) {
if (logLevel <= LOG_LEVEL.DEBUG) {
console.log("[DEBUG] " + msg);
}
};
log.i = function(msg) {
if (logLevel <= LOG_LEVEL.INFO) {
console.log("[INFO] " + msg);
}
};
log.w = function(msg) {
if (logLevel <= LOG_LEVEL.WARN) {
console.log("[WARN] " + msg);
}
};
log.e = function(msg) {
console.log("[ERROR] " + msg);
};
} ());
/**
* bridge
**/
(function() {
window.pokktNativeBridge = {};
window.pokktNativeBridge.notifyNative = function(operation, params) {
log.i('notifying native of: ' + operation + ' , with params: ' + params);
/**
* POKKT-IMA Wrapper
**/
var PokktIMAWrapper = function(debugEnabled) {
log.i('preparing ima wrapper for pokkt...');
this.player = videojs('pokkt-video-ad');
this.player.fluid(true);
// Remove controls from the player on iPad to stop native controls from
stealing our click
if (navigator.userAgent.match(/iPad/i) ||
navigator.userAgent.match(/Android/i)){
var contentPlayer = document.getElementById('content_video_html5_api');
if (contentPlayer != null && contentPlayer.hasAttribute('controls')) {
contentPlayer.removeAttribute('controls');
}
this.player.controls(false);
}
var options = {
debug: debugEnabled,
id: 'pokkt-video-ad',
autoPlayAdBreaks: false,
showControlsForJSAds: false,
vpaidMode: 'INSECURE',
disableCustomPlaybackForIOS10Plus: true,
adsManagerLoadedCallback: this.adsManagerLoadedCallback.bind(this)
};
this.player.ima(options);
this.player.ima.setAdBreakReadyListener(function(){
log.i('ad-break ready, attempting ad playback...');
this.player.ima.playAdBreak();
});
pokktNativeBridge.notifyNative('wrapperPrepared');
};
PokktIMAWrapper.prototype.initWithAdTag = function(adTag, isAdTagAUrl) {
log.i('initializing ima...');
this.player.ima.initializeAdDisplayContainer();
if (isAdTagAUrl) {
this.player.ima.setContentWithAdTag(null, adTag, false);
} else {
this.player.ima.setContentWithAdsResponse(null, adTag, false);
}
this.player.ima.requestAds();
};
PokktIMAWrapper.prototype.adsManagerLoadedCallback = function(event) {
log.i('ads-manager loaded, registering remaining listners...');
var events = [
google.ima.AdEvent.Type.AD_BREAK_READY,
google.ima.AdEvent.Type.AD_CAN_PLAY,
google.ima.AdEvent.Type.AD_METADATA,
google.ima.AdEvent.Type.ALL_ADS_COMPLETED,
google.ima.AdEvent.Type.CLICK,
google.ima.AdEvent.Type.COMPLETE,
google.ima.AdEvent.Type.CONTENT_PAUSE_REQUESTED,
google.ima.AdEvent.Type.CONTENT_RESUME_REQUESTED,
google.ima.AdEvent.Type.DURATION_CHANGE,
google.ima.AdEvent.Type.EXPANDED_CHANGED,
google.ima.AdEvent.Type.FIRST_QUARTILE,
google.ima.AdEvent.Type.IMPRESSION,
google.ima.AdEvent.Type.INTERACTION,
google.ima.AdEvent.Type.LINEAR_CHANGED,
google.ima.AdEvent.Type.LOADED,
google.ima.AdEvent.Type.LOG,
google.ima.AdEvent.Type.MIDPOINT,
google.ima.AdEvent.Type.PAUSED,
google.ima.AdEvent.Type.RESUMED,
google.ima.AdEvent.Type.SKIPPABLE_STATE_CHANGED,
google.ima.AdEvent.Type.SKIPPED,
google.ima.AdEvent.Type.STARTED,
google.ima.AdEvent.Type.THIRD_QUARTILE,
google.ima.AdEvent.Type.USER_CLOSE,
google.ima.AdEvent.Type.VIEWABLE_IMPRESSION,
google.ima.AdEvent.Type.VOLUME_CHANGED,
google.ima.AdEvent.Type.VOLUME_MUTED,
google.ima.AdErrorEvent.Type.AD_ERROR
];
window.addEventListener('resize', this.onWindowResize.bind(this));
};
PokktIMAWrapper.prototype.onAdEvent = function(event) {
var message = 'Ad event: ' + event.type;
log.i(message);
PokktIMAWrapper.prototype.playAd = function() {
this.player.ima.playAdBreak();
};
PokktIMAWrapper.prototype.pauseAd = function() {
this.player.pause();
};
PokktIMAWrapper.prototype.onWindowResize = function() {
var adContainer = document.getElementById('pokkt-ima-adcontainer');
var videoElement = document.getElementById('pokkt-video-ad');
var adContainerWidth = adContainer.offsetWidth;
var videoHeight = videoElement.offsetHeight;
function prepareIMA(debugEnabled) {
window.imaAds = new PokktIMAWrapper(debugEnabled);
}
function playAd() {
window.imaAds.playAd();
}
function pauseAd() {
window.imaAds.pauseAd();
}
</script>
</body>
</html>
log.d = function(msg) {
if (logLevel <= LOG_LEVEL.DEBUG) {
console.log("[DEBUG] " + msg);
}
};
log.i = function(msg) {
if (logLevel <= LOG_LEVEL.INFO) {
console.log("[INFO] " + msg);
}
};
log.w = function(msg) {
if (logLevel <= LOG_LEVEL.WARN) {
console.log("[WARN] " + msg);
}
};
log.e = function(msg) {
console.log("[ERROR] " + msg);
};
} ());
</script>
function is_pokkt_sdk() {
return true;
}
function pokkt_on_close() {
pauseAd();
if (typeof(Android) != "undefined" && Android.closeInterstitial) {
Android.closeInterstitial();
} else {
if (window.external && window.external.notify) {
window.external.notify("closeInterstitial");
}
}
}
function pokktOnComplete() {
if (typeof(Android) != "undefined" && Android.gratifyInterstitial)
{
Android.gratifyInterstitial();
} else {
if(window && window.external && window.external.notify) {
window.external.notify("gratifyInterstitial");
}
}
}
// function injectScript() {
// var Android = {};
// function closeInterstitial() {
// setTimeout(function() {
// window.location = 'pokkt://closeInterstitial';
// }, 1000);
// };
// function gratifyInterstitial() {
// window.location = 'pokkt://gratifyInterstitial';
// };
// Android.closeInterstitial = closeInterstitial;
// Android.gratifyInterstitial = gratifyInterstitial;
// window.Android = Android;
// }
// injectScript();
</script>
pokktOMIDBridge.createOMIDSession = function(omidSDKVersion,
vendors, partnerName, partnerVersion) {
log.i('creating omid session...');
var sessionClient;
try {
sessionClient = OmidSessionClient[omidSDKVersion];
} catch (e) {
log.i('error creating sessionClient!');
}
if (!sessionClient) {
log.i('sessionClient not available!');
pokktNativeBridge.notifyNative('omWrapperFailed');
return;
}
if (!resources.length) {
log.i('no verification resources found!');
pokktNativeBridge.notifyNative('omWrapperFailed');
return;
}
var partner = new Partner(partnerName, partnerVersion);
var context = new Context(partner, resources);
var adSession = new AdSession(context);
pokktOMIDBridge.adSession = adSession;
adSession.registerSessionObserver(function (event) {
log.i('omid session event: ' + event.type)
if (event.type === "sessionStart") {
videoEvents.loaded({ isSkippable: true, isAutoPlay:
true, position: 'standalone' });
adEvents.impressionOccurred();
} else if (event.type === "sessionError") {
log.i('session error occured! ' + event);
} else if (event.type === "sessionFinish") {
log.i('session finished!');
}
});
function initOMIDSession(pokktOMConfig) {
log.i('initializing omid session...');
<script type="text/javascript">
window.vjsPlayer = videojs('pokkt-video-ad', {
'controls':false,
'forceSSL':true
}, function () {
log.i('videojs is ready!');
setupEventListeners(this);
window.pokktNativeBridge.notifyNative('vjsPlayerReady');
//this.play();
});
if (isTagAnURL) {
vastClientSettings.adTagUrl = vastTag;
} else {
vastResponseXML = vastTag;
vastClientSettings.adTagXML = 'requestVASTXML';
}
window.vjsPlayer.vastClient(vastClientSettings);
}
function setupEventListeners(player) {
log.i('setting up listeners on player: ' + player);
player.on('vpaid.AdVideoStart', function(e) {
log.i('window.pokktOMIDBridge start');
player.on('vpaid.AdVideoFirstQuartile', function(e) {
log.i('window.pokktOMIDBridge first quartile');
player.on('vpaid.AdVideoMidpoint', function(e) {
log.i('window.pokktOMIDBridge midpoint');
player.on('vpaid.AdVideoThirdQuartile', function(e) {
log.i('window.pokktOMIDBridge third quartile');
player.on('vpaid.AdVideoComplete', function(e) {
log.i('window.pokktOMIDBridge complete');
player.on('vpaid.AdSkipped', function(e) {
log.i('window.pokktOMIDBridge skipped');
player.on('vpaid.AdPaused', function(e) {
log.i('window.pokktOMIDBridge paused');
player.on('vpaid.AdPlaying', function(e) {
log.i('window.pokktOMIDBridge resumed');
player.on('vpaid.AdVolumeChange', function(e) {
log.i('window.pokktOMIDBridge volume changed');
window.pokktOMIDBridge.videoEvents.volumeChange(videoPlayerVolume);
});
}
function playAd() {
window.vjsPlayer.play();
}
function pauseAd() {
window.vjsPlayer.pause();
}
</script>
<script type="text/javascript">
// replace macros and call the following
// setupVJS(isTagAnURL, vastTag, moatData, moatPartnerCode);
setupVJS({{IS_TAG_A_URL}}, '{{VAST_TAG}}', {{MOAT_DATA}},
'{{MOAT_PARTNER_CODE}}');
</script>
</body>
</html>
/**
* mraid functionalities
**/
(function() {
if (console.oldLog === undefined) {
console.oldLog = console.log;
console.log = function(log) {
if (console.oldLog !== undefined) {
console.oldLog(log);
}
var LOG_LEVEL = {
"DEBUG" : 0,
"INFO" : 1,
"WARNING" : 2,
"ERROR" : 3
};
log.d = function(msg) {
if (logLevel <= LOG_LEVEL.DEBUG) {
console.log("[DEBUG] " + msg);
}
};
log.i = function(msg) {
if (logLevel <= LOG_LEVEL.INFO) {
console.log("[INFO] " + msg);
}
};
log.w = function(msg) {
if (logLevel <= LOG_LEVEL.WARN) {
console.log("[WARN] " + msg);
}
};
log.e = function(msg) {
console.log("[ERROR] " + msg);
};
} ());
/**
* console logger
**/
(function() {
log.i("init mraid...");
/**
* globals
**/
var mraid = window.mraid = {};
/**
* constants
**/
var VERSION = "3.0";
/**
* states
**/
var supportedFeatures = {};
var orientationProperties = {
"allowOrientationChange" : true,
"forceOrientation" : DEVICE_ORIENTATIONS.NONE
};
var currentAppOrientation = {
"orientation" : DEVICE_ORIENTATIONS.NONE,
"locked" : false
};
var currentPosition = {
"x" : 0,
"y" : 0,
"width" : 0,
"height" : 0
};
var defaultPosition = {
"x" : 0,
"y" : 0,
"width" : 0,
"height" : 0
};
var expandProperties = {
"width" : 0,
"height" : 0,
"useCustomClose" : false,
"isModal" : true
};
var maxSize = {
"width" : 0,
"height" : 0
};
var screenSize = {
"width" : 0,
"height" : 0
};
var resizeProperties = {
"width" : 0,
"height" : 0,
"offsetX" : 0,
"offsetY" : 0,
"customClosePosition" : CUSTOM_CLOSE_POSITION.TOP_RIGHT,
"allowOffscreen" : true
};
var locationData = {
"lat" : 0.0,
"lon" : 0.0,
"type" : LOCATION_PROVIDER_TYPES.GPS,
"accuracy" : 0.0,
"lastfix" : 0,
"ipservice" : ""
};
var exposureProperties = {
"exposedPercentage" : 0,
"visibleRectangle" : {},
"occlusionRectangles" : null // not used in this version
};
bridge.setPlacementType = function(pt) {
placementType = pt;
};
currentPosition.x = x;
currentPosition.y = y;
currentPosition.width = width;
currentPosition.height = height;
var customClosePosition =
properties.hasOwnProperty("customClosePosition") ?
properties.customClosePosition : resizeProperties.customClosePosition;
log.d("customClosePosition " + customClosePosition);
resizeUtil.fitResizeViewOnScreen = function(properties) {
log.d("fitResizeViewOnScreen");
log.d("defaultPosition " + defaultPosition.x + " " + defaultPosition.y);
log.d("offset " + properties.offsetX + " " + properties.offsetY);
if (resizeUtil.isRectContained(maxRect, resizeRect)) {
log.d("no adjustment necessary");
return adjustments;
}
return adjustments;
};
this.remove = function(func) {
var id = String(func);
if (listeners[id]) {
listeners[id] = null;
delete listeners[id];
this.count--;
return true;
} else {
return false;
}
};
this.removeAll = function() {
for (var id in listeners) {
if (listeners.hasOwnProperty(id)) {
this.remove(listeners[id]);
}
}
};
this.broadcast = function(args) {
for (var id in listeners) {
if (listeners.hasOwnProperty(id)) {
listeners[id].apply(mraid, args);
}
}
};
this.toString = function() {
var out = [event, ':'];
for (var id in listeners) {
if (listeners.hasOwnProperty(id)) {
out.push('|', id, '|');
}
}
return out.join('');
};
};
/**
* validators
*
* The action parameter is a string which is the name of the setter function
which called this function
* (in other words, setExpandPropeties, setOrientationProperties, or
setResizeProperties).
* It serves both as the key to get the the appropriate set of validating
functions from the allValidators object
* as well as the action parameter of any error event that may be thrown.
*
* added location-data validation
**/
/**
* mraid properties
**/
mraid.supports = function(feature) {
log.i("mraid.supports: " + feature + " " + supportedFeatures[feature]);
var retval = supportedFeatures[feature];
if (typeof retval === "undefined") {
retval = false;
}
return retval;
};
mraid.getPlacementType = function() {
log.i("mraid.getPlacementType");
return placementType;
};
mraid.getOrientationProperties = function() {
log.i("mraid.getOrientationProperties");
mraid.setOrientationProperties = function(properties) {
log.i("mraid.setOrientationProperties...");
if (!validate(properties, "setOrientationProperties")) {
log.e("validation failed!");
return;
}
orientationProperties.allowOrientationChange =
newOrientationProperties.allowOrientationChange;
orientationProperties.forceOrientation =
newOrientationProperties.forceOrientation;
notifyNative("setOrientationProperties",
JSON.stringify(orientationProperties));
};
mraid.getCurrentAppOrientation = function() {
log.i("mraid.getCurrentAppOrientation");
mraid.getCurrentPosition = function() {
log.i("mraid.getCurrentPosition");
var position = {
"x": currentPosition.x,
"y": currentPosition.y,
"width": currentPosition.width,
"height": currentPosition.height
};
return position;
};
mraid.getDefaultPosition = function() {
log.i("mraid.getDefaultPosition");
var position = {
"x": defaultPosition.x,
"y": defaultPosition.y,
"width": defaultPosition.width,
"height": defaultPosition.height
};
return position;
};
mraid.getState = function() {
log.i("mraid.getState: " + state);
return state;
};
mraid.getExpandProperties = function() {
log.i("mraid.getExpandProperties");
var properties = {
"width" : expandProperties.width,
"height" : expandProperties.height,
"useCustomClose" : expandProperties.useCustomClose,
"isModal" : expandProperties.isModal
};
return properties;
};
mraid.setExpandProperties = function(properties) {
log.i("mraid.setExpandProperties");
if (!validate(properties, "setExpandProperties")) {
log.e("validation failed!");
return;
}
var oldUseCustomClose = expandProperties.useCustomClose;
// In MRAID v2.0, all expanded ads by definition cover the entire screen,
// so the only property that the native side has to know about is
useCustomClose.
// (That is, the width and height properties are not needed by the native
code.)
if (expandProperties.useCustomClose !== oldUseCustomClose) {
mraid.useCustomClose(properties.useCustomClose);
}
};
mraid.getMaxSize = function() {
log.i("mraid.getMaxSize: " + maxSize.width + " x " + maxSize.height);
mraid.getScreenSize = function() {
log.i("mraid.getScreenSize: " + screenSize.width + " x " +
screenSize.height);
mraid.getResizeProperties = function() {
log.i("mraid.getResizeProperties");
var properties = {
"width" : resizeProperties.width,
"height" : resizeProperties.height,
"offsetX" : resizeProperties.offsetX,
"offsetY" : resizeProperties.offsetY,
"customClosePosition" : resizeProperties.customClosePosition,
"allowOffscreen" : resizeProperties.allowOffscreen
};
return properties;
};
mraid.setResizeProperties = function(properties) {
log.i("mraid.setResizeProperties");
isResizeReady = false;
// The properties object passed into this function must contain width,
height, offsetX, offsetY.
// The remaining two properties are optional.
var rwProps = [ "width", "height", "offsetX", "offsetY" ];
for (var i = 0; i < rwProps.length; i++) {
var propname = rwProps[i];
if (!properties.hasOwnProperty(propname)) {
var message = "required property " + propname + " is missing";
log.e(message);
broadcastEvent(EVENTS.ERROR, message, "setResizeProperties");
return;
}
}
if (!validate(properties, "setResizeProperties")) {
log.e("validation failed!");
return;
}
if (!allowOffscreen) {
if (properties.width > maxSize.width || properties.height >
maxSize.height) {
var message = "Resize width or height is greater than the maxSize
width or height!";
log.e(message);
broadcastEvent(EVENTS.ERROR, message, "setResizeProperties");
return;
}
adjustments = resizeUtil.fitResizeViewOnScreen(properties);
} else if (!resizeUtil.isCloseRegionOnScreen(properties)) {
var message = "Close event region will not appear entirely onscreen!";
log.e(message);
broadcastEvent(EVENTS.ERROR, message, "setResizeProperties");
return;
}
var params = {
"width" : resizeProperties.width,
"height" : resizeProperties.height,
"offsetX" : resizeProperties.offsetX + adjustments.x,
"offsetY" : resizeProperties.offsetY + adjustments.y,
"customClosePosition" : resizeProperties.customClosePosition,
"allowOffscreen" : resizeProperties.allowOffscreen
};
notifyNative("setResizeProperties", JSON.stringify(params));
isResizeReady = true;
};
mraid.getLocation = function() {
if (!validate(locationData, "locationData")) {
log.e("invalid location data!");
return -1;
}
var data = {
"lat" : locationData.lat,
"lon" : locationData.lon,
"type" : locationData.type,
"accuracy" : locationData.accuracy,
"lastfix" : locationData.lastfix,
"ipservice" : locationData.ipservice
};
return data;
};
/**
* mraid methods
**/
mraid.getVersion = function() {
log.i("mraid.getVersion: " + VERSION);
return VERSION;
};
if (!event || !listener) {
broadcastEvent(EVENTS.ERROR, "Both event and listener are required.",
"addEventListener");
return;
}
if (!contains(event, EVENTS)) {
broadcastEvent(EVENTS.ERROR, "Unknown MRAID event: " + event,
"addEventListener");
return;
}
if (!eventListeners[event]) {
eventListeners[event] = new EventListeners(event);
}
eventListeners[event].add(listener);
};
if (!event) {
broadcastEvent(EVENTS.ERROR, "Event is required.",
"removeEventListener");
return;
}
if (!contains(event, EVENTS)) {
broadcastEvent(EVENTS.ERROR, "Unknown MRAID event: " + event,
"removeEventListener");
return;
}
if (eventListeners[event]) {
if (!listener) {
eventListeners[event].removeAll();
} else if (!eventListeners[event].remove(listener)) {
broadcastEvent(EVENTS.ERROR, "Listener not currently registered for
event.", "removeEventListener");
}
}
mraid.open = function(url) {
log.i("mraid.open: " + url);
if (!url) {
broadcastEvent(EVENTS.ERROR, "Invalid URL: " + url, "open");
return;
}
notifyNative("open", url);
};
mraid.close = function() {
log.i("mraid.close");
notifyNative("close");
};
mraid.unload = function() {
log.i("mraid.unload");
notifyNative("unload");
};
mraid.useCustomClose = function(shouldUseCustomClose) {
log.i("mraid.useCustomClose: " + shouldUseCustomClose);
expandProperties.useCustomClose = shouldUseCustomClose;
notifyNative("useCustomClose", shouldUseCustomClose);
};
mraid.expand = function(url) {
log.i("mraid.expand: " + (url === undefined) ? "(1-part)" : url);
mraid.isViewable = function() {
log.i("mraid.isViewable");
return isViewable;
};
mraid.playVideo = function(uri) {
log.i("mraid.playVideo: " + uri);
if (!uri) {
broadcastEvent(EVENTS.ERROR, "Invalid URI: " + uri, "playVideo");
return;
}
notifyNative("playVideo", uri);
};
mraid.resize = function() {
log.i("mraid.resize");
notifyNative("resize", JSON.stringify(resizeProperties));
};
mraid.storePicture = function(uri) {
log.i("mraid.storePicture: " + uri);
if (!mraid.supports(mraid.SUPPORTED_FEATURES.STOREPICTURE)) {
broadcastEvent(EVENTS.ERROR, "storePicture is not supported",
"storePicture");
return;
}
if (!uri) {
broadcastEvent(EVENTS.ERROR, "Invalid URI: " + uri, "storePicture");
return;
}
notifyNative("storePicture", uri);
};
mraid.createCalendarEvent = function(parameters) {
log.i("mraid.createCalendarEvent");
if (!mraid.supports(mraid.SUPPORTED_FEATURES.CALENDAR)) {
broadcastEvent(EVENTS.ERROR, "createCalendarEvent is not supported",
"createCalendarEvent");
return;
}
notifyNative("createCalendarEvent", JSON.stringify(parameters));
};
/**
* event dispatchers
**/
mraid.fireErrorEvent = function(message, action) {
broadcastEvent(EVENTS.ERROR, message, action);
};
mraid.fireReadyEvent = function() {
broadcastEvent(EVENTS.READY);
};
mraid.fireStateChangeEvent = function(newState) {
if (state !== newState) {
state = newState;
broadcastEvent(EVENTS.STATECHANGE, state);
}
};
mraid.fireViewableChangeEvent = function(newIsViewable) {
if (isViewable !== newIsViewable) {
isViewable = newIsViewable;
broadcastEvent(EVENTS.VIEWABLECHANGE, isViewable);
}
};
mraid.fireAudioVolumeChangeEvent = function(percentage) {
if (volumePercentage !== percentage) {
volumePercentage = volumePercentage;
broadcastEvent(EVENTS.AUDIOVOLUMECHANGE, percentage);
}
};
// TODO: VPAID
/**
* pokkt specific constants
**/
var NETWORK = mraid.NETWORK = {
OFFLINE :'offline',
WIFI :'wifi',
CELL :'cell',
UNKNOWN :'unknown'
};
mraid.SUPPORTED_FEATURES.AUDIO = "audio";
mraid.SUPPORTED_FEATURES.CAMERA = "camera";
mraid.SUPPORTED_FEATURES.NETWORK = "network";
mraid.SUPPORTED_FEATURES.SHAKE = "shake";
mraid.SUPPORTED_FEATURES.TILT = "tilt";
mraid.SUPPORTED_FEATURES.HEADING = "heading";
mraid.SUPPORTED_FEATURES.ORIENTATION = "orientation";
mraid.SUPPORTED_FEATURES.MAP = "map";
mraid.EVENTS.SHAKE = "shake";
mraid.EVENTS.TILTCHANGE = "tiltChange";
mraid.EVENTS.HEADINGCHANGE = "headingChange";
mraid.EVENTS.LOCATIONCHANGE = "locationChange";
mraid.EVENTS.NETWORKCHANGE = "networkChange";
mraid.EVENTS.KEYBOARDSTATECHANGE = "keyboardStateChange";
/**
* pokkt specific states
**/
var shakeProperties = {
"interval" : 0,
"intensity" : 0
};
var tiltProperties = {
"interval" : 0,
"intensity" : 0
};
var headingProperties = {
"interval" : 0,
"intensity" : 0
};
var tiltValues = {
"x" : 0,
"y" : 0,
"z" : 0
};
var headingValue = 0;
var currentNetwork = "";
var currentKeyboardState = 0;
/**
* pokkt specific validators
**/
mraidUtils.allValidators.setShakeProperties =
mraidUtils.allValidators.setTiltProperties =
mraidUtils.allValidators.setHeadingProperties = {
"intensity":function(value) { return !isNaN(value); },
"interval":function(value) { return !isNaN(value); }
};
mraidUtils.allValidators.setTilt = {
"x":function(value) { return !isNaN(value); },
"y":function(value) { return !isNaN(value); },
"z":function(value) { return !isNaN(value); }
};
/**
* pokkt's extended properties
**/
mraid.setShakeProperties = function(properties) {
log.i("mraid.setShakeProperties: " + properties);
if (!mraidUtils.validate(properties, "setShakeProperties")) {
log.e("validation failed!");
return;
}
shakeProperties = properties;
mraidBridge.notifyNative("setShakeProperties", JSON.stringify(properties));
};
mraid.getShakeProperties = function() {
log.i("mraid.getShakeProperties");
mraid.setTiltProperties = function(properties) {
log.i("mraid.setTiltProperties: " + properties);
if (!mraidUtils.validate(properties, "setTiltProperties")) {
log.e("validation failed!");
return;
}
tiltProperties = properties;
mraidBridge.notifyNative("setTiltProperties", JSON.stringify(properties));
};
mraid.getTiltProperties = function() {
log.i("mraid.getTiltProperties");
mraid.setHeadingProperties = function(properties) {
log.i("mraid.setHeadingProperties: " + properties);
if (!mraidUtils.validate(properties, "setHeadingProperties")) {
log.e("validation failed!");
return;
}
headingProperties = properties;
mraidBridge.notifyNative("setHeadingProperties",
JSON.stringify(properties));
};
mraid.getHeadingProperties = function() {
log.i("mraid.getHeadingProperties");
mraid.getTilt = function () {
log.i("mraid.getTilt");
tiltValues = newValue;
};
mraid.getNetwork = function () {
log.i("mraid.getNetwork");
return currentNetwork;
};
mraid.setNetwork = function (newValue) {
log.i("mraid.setNetwork: " + newValue);
currentNetwork = newValue;
};
mraid.getHeading = function () {
log.i("mraid.getHeading");
return headingValue;
};
mraid.getKeyboardState = function () {
log.i("mraid.getKeyboardState");
return currentKeyboardState;
}
/**
* extended methods
**/
mraid.playAudio = function(url) {
log.i("mraid.playAudio " + url);
if (!mraid.supports(mraid.SUPPORTED_FEATURES.AUDIO)) {
mraidUtils.broadcastEvent(mraid.EVENTS.ERROR, "playAudio is not
supported", "playAudio");
return;
}
mraidBridge.notifyNative("playAudio", url);
};
mraid.openCamera = function () {
log.i("mraid.openCamera");
if (!mraid.supports(mraid.SUPPORTED_FEATURES.CAMERA)) {
mraidUtils.broadcastEvent(mraid.EVENTS.ERROR, "openCamera is not
supported", "openCamera");
return;
}
mraidBridge.notifyNative("openCamera");
}
/**
* event dispatchers
**/
mraid.fireShakeEvent = function() {
log.i("mraid.fireShakeEvent");
mraidUtils.broadcastEvent(mraid.EVENTS.SHAKE);
}
mraid.fireTiltChangeEvent = function(x, y, z) {
log.i("mraid.fireTiltChangeEvent, x: " + x + " y: " + y + " z: " + z);
tiltValues.x = x;
tiltValues.y = y;
tiltValues.z = z;
mraidUtils.broadcastEvent(mraid.EVENTS.TILTCHANGE, x, y, z);
}
mraid.fireHeadingChangeEvent = function(val) {
log.i("mraid.fireHeadingChangeEvent, val: " + val);
if (headingValue != val) {
headingValue = val;
mraidUtils.broadcastEvent(mraid.EVENTS.HEADINGCHANGE, val);
}
}
mraid.fireNetworkChangeEvent = function(network) {
log.d("mraid.fireNetworkChangeEvent: " + network);
if (currentNetwork != network) {
currentNetwork = network;
mraidUtils.broadcastEvent(mraid.EVENTS.NETWORKCHANGE, network);
}
}
mraid.fireKeyboardStateChangeEvent = function(state) {
log.d("mraid.fireKeyboardStateChangeEvent: " + state);
if (currentKeyboardState !== state) {
currentKeyboardState = state;
mraidUtils.broadcastEvent(mraid.EVENTS.KEYBOARDSTATECHANGE, state);
}
}
<script src="https://imasdk.googleapis.com/js/sdkloader/ima3.js"></script>
<script src="https://s3-ap-southeast-
1.amazonaws.com/sdkplugin/imasupport/video.min.js"></script>
<script src="https://s3-ap-southeast-
1.amazonaws.com/sdkplugin/imasupport/videojs.ads.min.js"></script>
<script src="https://s3-ap-southeast-
1.amazonaws.com/sdkplugin/imasupport/videojs.ima.js"></script>
<script type="text/javascript">
/**
* console logger
**/
(function() {
var LOG_LEVEL = {
"DEBUG" : 0,
"INFO" : 1,
"WARNING" : 2,
"ERROR" : 3
};
log.d = function(msg) {
if (logLevel <= LOG_LEVEL.DEBUG) {
console.log("[DEBUG] " + msg);
}
};
log.i = function(msg) {
if (logLevel <= LOG_LEVEL.INFO) {
console.log("[INFO] " + msg);
}
};
log.w = function(msg) {
if (logLevel <= LOG_LEVEL.WARN) {
console.log("[WARN] " + msg);
}
};
log.e = function(msg) {
console.log("[ERROR] " + msg);
};
} ());
/**
* bridge
**/
(function() {
window.pokktNativeBridge = {};
window.pokktNativeBridge.notifyNative = function(operation, params) {
log.i('notifying native of: ' + operation + ' , with params: ' + params);
/**
* POKKT-IMA Wrapper
**/
var PokktIMAWrapper = function(debugEnabled) {
log.i('preparing ima wrapper for pokkt...');
this.player = videojs('pokkt-video-ad');
this.player.fluid(true);
// Remove controls from the player on iPad to stop native controls from
stealing our click
if (navigator.userAgent.match(/iPad/i) ||
navigator.userAgent.match(/Android/i)){
var contentPlayer = document.getElementById('content_video_html5_api');
if (contentPlayer != null && contentPlayer.hasAttribute('controls')) {
contentPlayer.removeAttribute('controls');
}
this.player.controls(false);
}
var options = {
debug: debugEnabled,
id: 'pokkt-video-ad',
autoPlayAdBreaks: false,
showControlsForJSAds: false,
vpaidMode: 'INSECURE',
disableCustomPlaybackForIOS10Plus: true,
adsManagerLoadedCallback: this.adsManagerLoadedCallback.bind(this)
};
this.player.ima(options);
this.player.ima.setAdBreakReadyListener(function(){
log.i('ad-break ready, attempting ad playback...');
this.player.ima.playAdBreak();
});
pokktNativeBridge.notifyNative('wrapperPrepared');
};
this.player.ima.initializeAdDisplayContainer();
if (isAdTagAUrl) {
this.player.ima.setContentWithAdTag(null, adTag, false);
} else {
this.player.ima.setContentWithAdsResponse(null, adTag, false);
}
this.player.ima.requestAds();
};
PokktIMAWrapper.prototype.adsManagerLoadedCallback = function(event) {
log.i('ads-manager loaded, registering remaining listners...');
var events = [
google.ima.AdEvent.Type.AD_BREAK_READY,
google.ima.AdEvent.Type.AD_CAN_PLAY,
google.ima.AdEvent.Type.AD_METADATA,
google.ima.AdEvent.Type.ALL_ADS_COMPLETED,
google.ima.AdEvent.Type.CLICK,
google.ima.AdEvent.Type.COMPLETE,
google.ima.AdEvent.Type.CONTENT_PAUSE_REQUESTED,
google.ima.AdEvent.Type.CONTENT_RESUME_REQUESTED,
google.ima.AdEvent.Type.DURATION_CHANGE,
google.ima.AdEvent.Type.EXPANDED_CHANGED,
google.ima.AdEvent.Type.FIRST_QUARTILE,
google.ima.AdEvent.Type.IMPRESSION,
google.ima.AdEvent.Type.INTERACTION,
google.ima.AdEvent.Type.LINEAR_CHANGED,
google.ima.AdEvent.Type.LOADED,
google.ima.AdEvent.Type.LOG,
google.ima.AdEvent.Type.MIDPOINT,
google.ima.AdEvent.Type.PAUSED,
google.ima.AdEvent.Type.RESUMED,
google.ima.AdEvent.Type.SKIPPABLE_STATE_CHANGED,
google.ima.AdEvent.Type.SKIPPED,
google.ima.AdEvent.Type.STARTED,
google.ima.AdEvent.Type.THIRD_QUARTILE,
google.ima.AdEvent.Type.USER_CLOSE,
google.ima.AdEvent.Type.VIEWABLE_IMPRESSION,
google.ima.AdEvent.Type.VOLUME_CHANGED,
google.ima.AdEvent.Type.VOLUME_MUTED,
google.ima.AdErrorEvent.Type.AD_ERROR
];
window.addEventListener('resize', this.onWindowResize.bind(this));
};
PokktIMAWrapper.prototype.onAdEvent = function(event) {
var message = 'Ad event: ' + event.type;
log.i(message);
PokktIMAWrapper.prototype.playAd = function() {
this.player.ima.playAdBreak();
};
PokktIMAWrapper.prototype.pauseAd = function() {
this.player.pause();
};
PokktIMAWrapper.prototype.onWindowResize = function() {
var adContainer = document.getElementById('pokkt-ima-adcontainer');
var videoElement = document.getElementById('pokkt-video-ad');
var adContainerWidth = adContainer.offsetWidth;
var videoHeight = videoElement.offsetHeight;
function prepareIMA(debugEnabled) {
window.imaAds = new PokktIMAWrapper(debugEnabled);
}
function playAd() {
window.imaAds.playAd();
}
function pauseAd() {
window.imaAds.pauseAd();
}
</script>
</body>
</html>
log.d = function(msg) {
if (logLevel <= LOG_LEVEL.DEBUG) {
console.log("[DEBUG] " + msg);
}
};
log.i = function(msg) {
if (logLevel <= LOG_LEVEL.INFO) {
console.log("[INFO] " + msg);
}
};
log.w = function(msg) {
if (logLevel <= LOG_LEVEL.WARN) {
console.log("[WARN] " + msg);
}
};
log.e = function(msg) {
console.log("[ERROR] " + msg);
};
} ());
</script>
function is_pokkt_sdk() {
return true;
}
function pokkt_on_close() {
pauseAd();
if (typeof(Android) != "undefined" && Android.closeInterstitial) {
Android.closeInterstitial();
} else {
if (window.external && window.external.notify) {
window.external.notify("closeInterstitial");
}
}
}
function pokktOnComplete() {
if (typeof(Android) != "undefined" && Android.gratifyInterstitial)
{
Android.gratifyInterstitial();
} else {
if(window && window.external && window.external.notify) {
window.external.notify("gratifyInterstitial");
}
}
}
// function injectScript() {
// var Android = {};
// function closeInterstitial() {
// setTimeout(function() {
// window.location = 'pokkt://closeInterstitial';
// }, 1000);
// };
// function gratifyInterstitial() {
// window.location = 'pokkt://gratifyInterstitial';
// };
// Android.closeInterstitial = closeInterstitial;
// Android.gratifyInterstitial = gratifyInterstitial;
// window.Android = Android;
// }
// injectScript();
</script>
pokktOMIDBridge.createOMIDSession = function(omidSDKVersion,
vendors, partnerName, partnerVersion) {
log.i('creating omid session...');
var sessionClient;
try {
sessionClient = OmidSessionClient[omidSDKVersion];
} catch (e) {
log.i('error creating sessionClient!');
}
if (!sessionClient) {
log.i('sessionClient not available!');
pokktNativeBridge.notifyNative('omWrapperFailed');
return;
}
if (!resources.length) {
log.i('no verification resources found!');
pokktNativeBridge.notifyNative('omWrapperFailed');
return;
}
adSession.registerSessionObserver(function (event) {
log.i('omid session event: ' + event.type)
if (event.type === "sessionStart") {
videoEvents.loaded({ isSkippable: true, isAutoPlay:
true, position: 'standalone' });
adEvents.impressionOccurred();
} else if (event.type === "sessionError") {
log.i('session error occured! ' + event);
} else if (event.type === "sessionFinish") {
log.i('session finished!');
}
});
function initOMIDSession(pokktOMConfig) {
log.i('initializing omid session...');
<script type="text/javascript">
window.vjsPlayer = videojs('pokkt-video-ad', {
'controls':false,
'forceSSL':true
}, function () {
log.i('videojs is ready!');
setupEventListeners(this);
window.pokktNativeBridge.notifyNative('vjsPlayerReady');
//this.play();
});
if (isTagAnURL) {
vastClientSettings.adTagUrl = vastTag;
} else {
vastResponseXML = vastTag;
vastClientSettings.adTagXML = 'requestVASTXML';
}
window.vjsPlayer.vastClient(vastClientSettings);
}
function setupEventListeners(player) {
log.i('setting up listeners on player: ' + player);
player.on('vpaid.AdVideoStart', function(e) {
log.i('window.pokktOMIDBridge start');
player.on('vpaid.AdVideoFirstQuartile', function(e) {
log.i('window.pokktOMIDBridge first quartile');
player.on('vpaid.AdVideoMidpoint', function(e) {
log.i('window.pokktOMIDBridge midpoint');
player.on('vpaid.AdVideoThirdQuartile', function(e) {
log.i('window.pokktOMIDBridge third quartile');
player.on('vpaid.AdVideoComplete', function(e) {
log.i('window.pokktOMIDBridge complete');
player.on('vpaid.AdSkipped', function(e) {
log.i('window.pokktOMIDBridge skipped');
player.on('vpaid.AdPaused', function(e) {
log.i('window.pokktOMIDBridge paused');
player.on('vpaid.AdPlaying', function(e) {
log.i('window.pokktOMIDBridge resumed');
window.pokktOMIDBridge.videoEvents.volumeChange(videoPlayerVolume);
});
}
function playAd() {
window.vjsPlayer.play();
}
function pauseAd() {
window.vjsPlayer.pause();
}
</script>
<script type="text/javascript">
// replace macros and call the following
// setupVJS(isTagAnURL, vastTag, moatData, moatPartnerCode);
setupVJS({{IS_TAG_A_URL}}, '{{VAST_TAG}}', {{MOAT_DATA}},
'{{MOAT_PARTNER_CODE}}');
</script>
</body>
</html>
<script src="https://imasdk.googleapis.com/js/sdkloader/ima3.js"></script>
<script src="https://s3-ap-southeast-
1.amazonaws.com/sdkplugin/imasupport/video.min.js"></script>
<script src="https://s3-ap-southeast-
1.amazonaws.com/sdkplugin/imasupport/videojs.ads.min.js"></script>
<script src="https://s3-ap-southeast-
1.amazonaws.com/sdkplugin/imasupport/videojs.ima.js"></script>
<script type="text/javascript">
/**
* console logger
**/
(function() {
var LOG_LEVEL = {
"DEBUG" : 0,
"INFO" : 1,
"WARNING" : 2,
"ERROR" : 3
};
log.d = function(msg) {
if (logLevel <= LOG_LEVEL.DEBUG) {
console.log("[DEBUG] " + msg);
}
};
log.i = function(msg) {
if (logLevel <= LOG_LEVEL.INFO) {
console.log("[INFO] " + msg);
}
};
log.w = function(msg) {
if (logLevel <= LOG_LEVEL.WARN) {
console.log("[WARN] " + msg);
}
};
log.e = function(msg) {
console.log("[ERROR] " + msg);
};
} ());
/**
* bridge
**/
(function() {
window.pokktNativeBridge = {};
window.pokktNativeBridge.notifyNative = function(operation, params) {
log.i('notifying native of: ' + operation + ' , with params: ' + params);
/**
* POKKT-IMA Wrapper
**/
var PokktIMAWrapper = function(debugEnabled) {
log.i('preparing ima wrapper for pokkt...');
this.player = videojs('pokkt-video-ad');
this.player.fluid(true);
// Remove controls from the player on iPad to stop native controls from
stealing our click
if (navigator.userAgent.match(/iPad/i) ||
navigator.userAgent.match(/Android/i)){
var contentPlayer = document.getElementById('content_video_html5_api');
if (contentPlayer != null && contentPlayer.hasAttribute('controls')) {
contentPlayer.removeAttribute('controls');
}
this.player.controls(false);
}
var options = {
debug: debugEnabled,
id: 'pokkt-video-ad',
autoPlayAdBreaks: false,
showControlsForJSAds: false,
vpaidMode: 'INSECURE',
disableCustomPlaybackForIOS10Plus: true,
adsManagerLoadedCallback: this.adsManagerLoadedCallback.bind(this)
};
this.player.ima(options);
this.player.ima.setAdBreakReadyListener(function(){
log.i('ad-break ready, attempting ad playback...');
this.player.ima.playAdBreak();
});
pokktNativeBridge.notifyNative('wrapperPrepared');
};
this.player.ima.initializeAdDisplayContainer();
if (isAdTagAUrl) {
this.player.ima.setContentWithAdTag(null, adTag, false);
} else {
this.player.ima.setContentWithAdsResponse(null, adTag, false);
}
this.player.ima.requestAds();
};
PokktIMAWrapper.prototype.adsManagerLoadedCallback = function(event) {
log.i('ads-manager loaded, registering remaining listners...');
var events = [
google.ima.AdEvent.Type.AD_BREAK_READY,
google.ima.AdEvent.Type.AD_CAN_PLAY,
google.ima.AdEvent.Type.AD_METADATA,
google.ima.AdEvent.Type.ALL_ADS_COMPLETED,
google.ima.AdEvent.Type.CLICK,
google.ima.AdEvent.Type.COMPLETE,
google.ima.AdEvent.Type.CONTENT_PAUSE_REQUESTED,
google.ima.AdEvent.Type.CONTENT_RESUME_REQUESTED,
google.ima.AdEvent.Type.DURATION_CHANGE,
google.ima.AdEvent.Type.EXPANDED_CHANGED,
google.ima.AdEvent.Type.FIRST_QUARTILE,
google.ima.AdEvent.Type.IMPRESSION,
google.ima.AdEvent.Type.INTERACTION,
google.ima.AdEvent.Type.LINEAR_CHANGED,
google.ima.AdEvent.Type.LOADED,
google.ima.AdEvent.Type.LOG,
google.ima.AdEvent.Type.MIDPOINT,
google.ima.AdEvent.Type.PAUSED,
google.ima.AdEvent.Type.RESUMED,
google.ima.AdEvent.Type.SKIPPABLE_STATE_CHANGED,
google.ima.AdEvent.Type.SKIPPED,
google.ima.AdEvent.Type.STARTED,
google.ima.AdEvent.Type.THIRD_QUARTILE,
google.ima.AdEvent.Type.USER_CLOSE,
google.ima.AdEvent.Type.VIEWABLE_IMPRESSION,
google.ima.AdEvent.Type.VOLUME_CHANGED,
google.ima.AdEvent.Type.VOLUME_MUTED,
google.ima.AdErrorEvent.Type.AD_ERROR
];
window.addEventListener('resize', this.onWindowResize.bind(this));
};
PokktIMAWrapper.prototype.onAdEvent = function(event) {
var message = 'Ad event: ' + event.type;
log.i(message);
PokktIMAWrapper.prototype.playAd = function() {
this.player.ima.playAdBreak();
};
PokktIMAWrapper.prototype.pauseAd = function() {
this.player.pause();
};
PokktIMAWrapper.prototype.onWindowResize = function() {
var adContainer = document.getElementById('pokkt-ima-adcontainer');
var videoElement = document.getElementById('pokkt-video-ad');
var adContainerWidth = adContainer.offsetWidth;
var videoHeight = videoElement.offsetHeight;
function prepareIMA(debugEnabled) {
window.imaAds = new PokktIMAWrapper(debugEnabled);
}
function playAd() {
window.imaAds.playAd();
}
function pauseAd() {
window.imaAds.pauseAd();
}
</script>
</body>
</html>
log.d = function(msg) {
if (logLevel <= LOG_LEVEL.DEBUG) {
console.log("[DEBUG] " + msg);
}
};
log.i = function(msg) {
if (logLevel <= LOG_LEVEL.INFO) {
console.log("[INFO] " + msg);
}
};
log.w = function(msg) {
if (logLevel <= LOG_LEVEL.WARN) {
console.log("[WARN] " + msg);
}
};
log.e = function(msg) {
console.log("[ERROR] " + msg);
};
} ());
</script>
function is_pokkt_sdk() {
return true;
}
function pokkt_on_close() {
pauseAd();
if (typeof(Android) != "undefined" && Android.closeInterstitial) {
Android.closeInterstitial();
} else {
if (window.external && window.external.notify) {
window.external.notify("closeInterstitial");
}
}
}
function pokktOnComplete() {
if (typeof(Android) != "undefined" && Android.gratifyInterstitial)
{
Android.gratifyInterstitial();
} else {
if(window && window.external && window.external.notify) {
window.external.notify("gratifyInterstitial");
}
}
}
// function injectScript() {
// var Android = {};
// function closeInterstitial() {
// setTimeout(function() {
// window.location = 'pokkt://closeInterstitial';
// }, 1000);
// };
// function gratifyInterstitial() {
// window.location = 'pokkt://gratifyInterstitial';
// };
// Android.closeInterstitial = closeInterstitial;
// Android.gratifyInterstitial = gratifyInterstitial;
// window.Android = Android;
// }
// injectScript();
</script>
pokktOMIDBridge.createOMIDSession = function(omidSDKVersion,
vendors, partnerName, partnerVersion) {
log.i('creating omid session...');
var sessionClient;
try {
sessionClient = OmidSessionClient[omidSDKVersion];
} catch (e) {
log.i('error creating sessionClient!');
}
if (!sessionClient) {
log.i('sessionClient not available!');
pokktNativeBridge.notifyNative('omWrapperFailed');
return;
}
if (!resources.length) {
log.i('no verification resources found!');
pokktNativeBridge.notifyNative('omWrapperFailed');
return;
}
adSession.registerSessionObserver(function (event) {
log.i('omid session event: ' + event.type)
if (event.type === "sessionStart") {
videoEvents.loaded({ isSkippable: true, isAutoPlay:
true, position: 'standalone' });
adEvents.impressionOccurred();
} else if (event.type === "sessionError") {
log.i('session error occured! ' + event);
} else if (event.type === "sessionFinish") {
log.i('session finished!');
}
});
log.i('notifying omid wrapper ready...');
pokktNativeBridge.notifyNative('omWrapperReady');
};
} ());
function initOMIDSession(pokktOMConfig) {
log.i('initializing omid session...');
if (isTagAnURL) {
vastClientSettings.adTagUrl = vastTag;
} else {
vastResponseXML = vastTag;
vastClientSettings.adTagXML = 'requestVASTXML';
}
window.vjsPlayer.vastClient(vastClientSettings);
}
function setupEventListeners(player) {
log.i('setting up listeners on player: ' + player);
player.on('vpaid.AdVideoStart', function(e) {
log.i('window.pokktOMIDBridge start');
player.on('vpaid.AdVideoMidpoint', function(e) {
log.i('window.pokktOMIDBridge midpoint');
player.on('vpaid.AdVideoThirdQuartile', function(e) {
log.i('window.pokktOMIDBridge third quartile');
player.on('vpaid.AdVideoComplete', function(e) {
log.i('window.pokktOMIDBridge complete');
player.on('vpaid.AdSkipped', function(e) {
log.i('window.pokktOMIDBridge skipped');
player.on('vpaid.AdPaused', function(e) {
log.i('window.pokktOMIDBridge paused');
if (window.pokktOMIDBridge === undefined ||
window.pokktOMIDBridge.videoEvents === undefined) {
log.i('bridge or video-events not available');
return;
}
window.pokktOMIDBridge.videoEvents.pause();
});
player.on('vpaid.AdPlaying', function(e) {
log.i('window.pokktOMIDBridge resumed');
player.on('vpaid.AdVolumeChange', function(e) {
log.i('window.pokktOMIDBridge volume changed');
window.pokktOMIDBridge.videoEvents.volumeChange(videoPlayerVolume);
});
}
function playAd() {
window.vjsPlayer.play();
}
function pauseAd() {
window.vjsPlayer.pause();
}
</script>
<script type="text/javascript">
// replace macros and call the following
// setupVJS(isTagAnURL, vastTag, moatData, moatPartnerCode);
setupVJS({{IS_TAG_A_URL}}, '{{VAST_TAG}}', {{MOAT_DATA}},
'{{MOAT_PARTNER_CODE}}');
</script>
</body>
</html>
1563709402373 com.zapak.ben10alienrace
{"pin":"247554","country":"India","countryCode":"IN","state":"Uttar
Pradesh","city":"Deoband","locality":"Matkota","area":"Saharanpur"}
<script src="https://imasdk.googleapis.com/js/sdkloader/ima3.js"></script>
<script src="https://s3-ap-southeast-
1.amazonaws.com/sdkplugin/imasupport/video.min.js"></script>
<script src="https://s3-ap-southeast-
1.amazonaws.com/sdkplugin/imasupport/videojs.ads.min.js"></script>
<script src="https://s3-ap-southeast-
1.amazonaws.com/sdkplugin/imasupport/videojs.ima.js"></script>
<script type="text/javascript">
/**
* console logger
**/
(function() {
var LOG_LEVEL = {
"DEBUG" : 0,
"INFO" : 1,
"WARNING" : 2,
"ERROR" : 3
};
log.d = function(msg) {
if (logLevel <= LOG_LEVEL.DEBUG) {
console.log("[DEBUG] " + msg);
}
};
log.i = function(msg) {
if (logLevel <= LOG_LEVEL.INFO) {
console.log("[INFO] " + msg);
}
};
log.w = function(msg) {
if (logLevel <= LOG_LEVEL.WARN) {
console.log("[WARN] " + msg);
}
};
log.e = function(msg) {
console.log("[ERROR] " + msg);
};
} ());
/**
* bridge
**/
(function() {
window.pokktNativeBridge = {};
window.pokktNativeBridge.notifyNative = function(operation, params) {
log.i('notifying native of: ' + operation + ' , with params: ' + params);
/**
* POKKT-IMA Wrapper
**/
var PokktIMAWrapper = function(debugEnabled) {
log.i('preparing ima wrapper for pokkt...');
this.player = videojs('pokkt-video-ad');
this.player.fluid(true);
// Remove controls from the player on iPad to stop native controls from
stealing our click
if (navigator.userAgent.match(/iPad/i) ||
navigator.userAgent.match(/Android/i)){
var contentPlayer = document.getElementById('content_video_html5_api');
if (contentPlayer != null && contentPlayer.hasAttribute('controls')) {
contentPlayer.removeAttribute('controls');
}
this.player.controls(false);
}
var options = {
debug: debugEnabled,
id: 'pokkt-video-ad',
autoPlayAdBreaks: false,
showControlsForJSAds: false,
vpaidMode: 'INSECURE',
disableCustomPlaybackForIOS10Plus: true,
adsManagerLoadedCallback: this.adsManagerLoadedCallback.bind(this)
};
this.player.ima(options);
this.player.ima.setAdBreakReadyListener(function(){
log.i('ad-break ready, attempting ad playback...');
this.player.ima.playAdBreak();
});
pokktNativeBridge.notifyNative('wrapperPrepared');
};
this.player.ima.initializeAdDisplayContainer();
if (isAdTagAUrl) {
this.player.ima.setContentWithAdTag(null, adTag, false);
} else {
this.player.ima.setContentWithAdsResponse(null, adTag, false);
}
this.player.ima.requestAds();
};
PokktIMAWrapper.prototype.adsManagerLoadedCallback = function(event) {
log.i('ads-manager loaded, registering remaining listners...');
var events = [
google.ima.AdEvent.Type.AD_BREAK_READY,
google.ima.AdEvent.Type.AD_CAN_PLAY,
google.ima.AdEvent.Type.AD_METADATA,
google.ima.AdEvent.Type.ALL_ADS_COMPLETED,
google.ima.AdEvent.Type.CLICK,
google.ima.AdEvent.Type.COMPLETE,
google.ima.AdEvent.Type.CONTENT_PAUSE_REQUESTED,
google.ima.AdEvent.Type.CONTENT_RESUME_REQUESTED,
google.ima.AdEvent.Type.DURATION_CHANGE,
google.ima.AdEvent.Type.EXPANDED_CHANGED,
google.ima.AdEvent.Type.FIRST_QUARTILE,
google.ima.AdEvent.Type.IMPRESSION,
google.ima.AdEvent.Type.INTERACTION,
google.ima.AdEvent.Type.LINEAR_CHANGED,
google.ima.AdEvent.Type.LOADED,
google.ima.AdEvent.Type.LOG,
google.ima.AdEvent.Type.MIDPOINT,
google.ima.AdEvent.Type.PAUSED,
google.ima.AdEvent.Type.RESUMED,
google.ima.AdEvent.Type.SKIPPABLE_STATE_CHANGED,
google.ima.AdEvent.Type.SKIPPED,
google.ima.AdEvent.Type.STARTED,
google.ima.AdEvent.Type.THIRD_QUARTILE,
google.ima.AdEvent.Type.USER_CLOSE,
google.ima.AdEvent.Type.VIEWABLE_IMPRESSION,
google.ima.AdEvent.Type.VOLUME_CHANGED,
google.ima.AdEvent.Type.VOLUME_MUTED,
google.ima.AdErrorEvent.Type.AD_ERROR
];
window.addEventListener('resize', this.onWindowResize.bind(this));
};
PokktIMAWrapper.prototype.onAdEvent = function(event) {
var message = 'Ad event: ' + event.type;
log.i(message);
PokktIMAWrapper.prototype.playAd = function() {
this.player.ima.playAdBreak();
};
PokktIMAWrapper.prototype.pauseAd = function() {
this.player.pause();
};
PokktIMAWrapper.prototype.onWindowResize = function() {
var adContainer = document.getElementById('pokkt-ima-adcontainer');
var videoElement = document.getElementById('pokkt-video-ad');
var adContainerWidth = adContainer.offsetWidth;
var videoHeight = videoElement.offsetHeight;
function prepareIMA(debugEnabled) {
window.imaAds = new PokktIMAWrapper(debugEnabled);
}
function playAd() {
window.imaAds.playAd();
}
function pauseAd() {
window.imaAds.pauseAd();
}
</script>
</body>
</html>
log.d = function(msg) {
if (logLevel <= LOG_LEVEL.DEBUG) {
console.log("[DEBUG] " + msg);
}
};
log.i = function(msg) {
if (logLevel <= LOG_LEVEL.INFO) {
console.log("[INFO] " + msg);
}
};
log.w = function(msg) {
if (logLevel <= LOG_LEVEL.WARN) {
console.log("[WARN] " + msg);
}
};
log.e = function(msg) {
console.log("[ERROR] " + msg);
};
} ());
</script>
function is_pokkt_sdk() {
return true;
}
function pokkt_on_close() {
pauseAd();
if (typeof(Android) != "undefined" && Android.closeInterstitial) {
Android.closeInterstitial();
} else {
if (window.external && window.external.notify) {
window.external.notify("closeInterstitial");
}
}
}
function pokktOnComplete() {
if (typeof(Android) != "undefined" && Android.gratifyInterstitial)
{
Android.gratifyInterstitial();
} else {
if(window && window.external && window.external.notify) {
window.external.notify("gratifyInterstitial");
}
}
}
// function injectScript() {
// var Android = {};
// function closeInterstitial() {
// setTimeout(function() {
// window.location = 'pokkt://closeInterstitial';
// }, 1000);
// };
// function gratifyInterstitial() {
// window.location = 'pokkt://gratifyInterstitial';
// };
// Android.closeInterstitial = closeInterstitial;
// Android.gratifyInterstitial = gratifyInterstitial;
// window.Android = Android;
// }
// injectScript();
</script>
pokktOMIDBridge.createOMIDSession = function(omidSDKVersion,
vendors, partnerName, partnerVersion) {
log.i('creating omid session...');
var sessionClient;
try {
sessionClient = OmidSessionClient[omidSDKVersion];
} catch (e) {
log.i('error creating sessionClient!');
}
if (!sessionClient) {
log.i('sessionClient not available!');
pokktNativeBridge.notifyNative('omWrapperFailed');
return;
}
if (!resources.length) {
log.i('no verification resources found!');
pokktNativeBridge.notifyNative('omWrapperFailed');
return;
}
adSession.registerSessionObserver(function (event) {
log.i('omid session event: ' + event.type)
if (event.type === "sessionStart") {
videoEvents.loaded({ isSkippable: true, isAutoPlay:
true, position: 'standalone' });
adEvents.impressionOccurred();
} else if (event.type === "sessionError") {
log.i('session error occured! ' + event);
} else if (event.type === "sessionFinish") {
log.i('session finished!');
}
});
function initOMIDSession(pokktOMConfig) {
log.i('initializing omid session...');
<script type="text/javascript">
window.vjsPlayer = videojs('pokkt-video-ad', {
'controls':false,
'forceSSL':true
}, function () {
log.i('videojs is ready!');
setupEventListeners(this);
window.pokktNativeBridge.notifyNative('vjsPlayerReady');
//this.play();
});
if (isTagAnURL) {
vastClientSettings.adTagUrl = vastTag;
} else {
vastResponseXML = vastTag;
vastClientSettings.adTagXML = 'requestVASTXML';
}
window.vjsPlayer.vastClient(vastClientSettings);
}
function setupEventListeners(player) {
log.i('setting up listeners on player: ' + player);
player.on('vpaid.AdVideoStart', function(e) {
log.i('window.pokktOMIDBridge start');
player.on('vpaid.AdVideoFirstQuartile', function(e) {
log.i('window.pokktOMIDBridge first quartile');
player.on('vpaid.AdVideoMidpoint', function(e) {
log.i('window.pokktOMIDBridge midpoint');
player.on('vpaid.AdVideoThirdQuartile', function(e) {
log.i('window.pokktOMIDBridge third quartile');
player.on('vpaid.AdVideoComplete', function(e) {
log.i('window.pokktOMIDBridge complete');
player.on('vpaid.AdSkipped', function(e) {
log.i('window.pokktOMIDBridge skipped');
player.on('vpaid.AdPaused', function(e) {
log.i('window.pokktOMIDBridge paused');
player.on('vpaid.AdPlaying', function(e) {
log.i('window.pokktOMIDBridge resumed');
player.on('vpaid.AdVolumeChange', function(e) {
log.i('window.pokktOMIDBridge volume changed');
window.pokktOMIDBridge.videoEvents.volumeChange(videoPlayerVolume);
});
}
function playAd() {
window.vjsPlayer.play();
}
function pauseAd() {
window.vjsPlayer.pause();
}
</script>
<script type="text/javascript">
// replace macros and call the following
// setupVJS(isTagAnURL, vastTag, moatData, moatPartnerCode);
setupVJS({{IS_TAG_A_URL}}, '{{VAST_TAG}}', {{MOAT_DATA}},
'{{MOAT_PARTNER_CODE}}');
</script>
</body>
</html>
/**
* mraid functionalities
**/
(function() {
if (console.oldLog === undefined) {
console.oldLog = console.log;
console.log = function(log) {
if (console.oldLog !== undefined) {
console.oldLog(log);
}
var LOG_LEVEL = {
"DEBUG" : 0,
"INFO" : 1,
"WARNING" : 2,
"ERROR" : 3
};
log.d = function(msg) {
if (logLevel <= LOG_LEVEL.DEBUG) {
console.log("[DEBUG] " + msg);
}
};
log.i = function(msg) {
if (logLevel <= LOG_LEVEL.INFO) {
console.log("[INFO] " + msg);
}
};
log.w = function(msg) {
if (logLevel <= LOG_LEVEL.WARN) {
console.log("[WARN] " + msg);
}
};
log.e = function(msg) {
console.log("[ERROR] " + msg);
};
} ());
/**
* console logger
**/
(function() {
log.i("init mraid...");
/**
* globals
**/
var mraid = window.mraid = {};
/**
* constants
**/
var VERSION = "3.0";
/**
* states
**/
var supportedFeatures = {};
var orientationProperties = {
"allowOrientationChange" : true,
"forceOrientation" : DEVICE_ORIENTATIONS.NONE
};
var currentAppOrientation = {
"orientation" : DEVICE_ORIENTATIONS.NONE,
"locked" : false
};
var currentPosition = {
"x" : 0,
"y" : 0,
"width" : 0,
"height" : 0
};
var defaultPosition = {
"x" : 0,
"y" : 0,
"width" : 0,
"height" : 0
};
var expandProperties = {
"width" : 0,
"height" : 0,
"useCustomClose" : false,
"isModal" : true
};
var maxSize = {
"width" : 0,
"height" : 0
};
var screenSize = {
"width" : 0,
"height" : 0
};
var resizeProperties = {
"width" : 0,
"height" : 0,
"offsetX" : 0,
"offsetY" : 0,
"customClosePosition" : CUSTOM_CLOSE_POSITION.TOP_RIGHT,
"allowOffscreen" : true
};
var locationData = {
"lat" : 0.0,
"lon" : 0.0,
"type" : LOCATION_PROVIDER_TYPES.GPS,
"accuracy" : 0.0,
"lastfix" : 0,
"ipservice" : ""
};
var exposureProperties = {
"exposedPercentage" : 0,
"visibleRectangle" : {},
"occlusionRectangles" : null // not used in this version
};
bridge.setPlacementType = function(pt) {
placementType = pt;
};
currentPosition.x = x;
currentPosition.y = y;
currentPosition.width = width;
currentPosition.height = height;
var customClosePosition =
properties.hasOwnProperty("customClosePosition") ?
properties.customClosePosition : resizeProperties.customClosePosition;
log.d("customClosePosition " + customClosePosition);
var closeRect = { "width": 50, "height": 50 };
resizeUtil.fitResizeViewOnScreen = function(properties) {
log.d("fitResizeViewOnScreen");
log.d("defaultPosition " + defaultPosition.x + " " + defaultPosition.y);
log.d("offset " + properties.offsetX + " " + properties.offsetY);
if (resizeUtil.isRectContained(maxRect, resizeRect)) {
log.d("no adjustment necessary");
return adjustments;
}
return adjustments;
};
this.add = function(func) {
var id = String(func);
if (!listeners[id]) {
listeners[id] = func;
this.count++;
}
};
this.remove = function(func) {
var id = String(func);
if (listeners[id]) {
listeners[id] = null;
delete listeners[id];
this.count--;
return true;
} else {
return false;
}
};
this.removeAll = function() {
for (var id in listeners) {
if (listeners.hasOwnProperty(id)) {
this.remove(listeners[id]);
}
}
};
this.broadcast = function(args) {
for (var id in listeners) {
if (listeners.hasOwnProperty(id)) {
listeners[id].apply(mraid, args);
}
}
};
this.toString = function() {
var out = [event, ':'];
for (var id in listeners) {
if (listeners.hasOwnProperty(id)) {
out.push('|', id, '|');
}
}
return out.join('');
};
};
/**
* mraid properties
**/
mraid.supports = function(feature) {
log.i("mraid.supports: " + feature + " " + supportedFeatures[feature]);
var retval = supportedFeatures[feature];
if (typeof retval === "undefined") {
retval = false;
}
return retval;
};
mraid.getPlacementType = function() {
log.i("mraid.getPlacementType");
return placementType;
};
mraid.getOrientationProperties = function() {
log.i("mraid.getOrientationProperties");
mraid.setOrientationProperties = function(properties) {
log.i("mraid.setOrientationProperties...");
if (!validate(properties, "setOrientationProperties")) {
log.e("validation failed!");
return;
}
orientationProperties.allowOrientationChange =
newOrientationProperties.allowOrientationChange;
orientationProperties.forceOrientation =
newOrientationProperties.forceOrientation;
notifyNative("setOrientationProperties",
JSON.stringify(orientationProperties));
};
mraid.getCurrentAppOrientation = function() {
log.i("mraid.getCurrentAppOrientation");
var appOrientation = {};
appOrientation.orientation = currentAppOrientation.orientation;
appOrientation.locked = currentAppOrientation.locked;
return appOrientation;
};
mraid.getCurrentPosition = function() {
log.i("mraid.getCurrentPosition");
var position = {
"x": currentPosition.x,
"y": currentPosition.y,
"width": currentPosition.width,
"height": currentPosition.height
};
return position;
};
mraid.getDefaultPosition = function() {
log.i("mraid.getDefaultPosition");
var position = {
"x": defaultPosition.x,
"y": defaultPosition.y,
"width": defaultPosition.width,
"height": defaultPosition.height
};
return position;
};
mraid.getState = function() {
log.i("mraid.getState: " + state);
return state;
};
mraid.getExpandProperties = function() {
log.i("mraid.getExpandProperties");
var properties = {
"width" : expandProperties.width,
"height" : expandProperties.height,
"useCustomClose" : expandProperties.useCustomClose,
"isModal" : expandProperties.isModal
};
return properties;
};
mraid.setExpandProperties = function(properties) {
log.i("mraid.setExpandProperties");
if (!validate(properties, "setExpandProperties")) {
log.e("validation failed!");
return;
}
// In MRAID v2.0, all expanded ads by definition cover the entire screen,
// so the only property that the native side has to know about is
useCustomClose.
// (That is, the width and height properties are not needed by the native
code.)
if (expandProperties.useCustomClose !== oldUseCustomClose) {
mraid.useCustomClose(properties.useCustomClose);
}
};
mraid.getMaxSize = function() {
log.i("mraid.getMaxSize: " + maxSize.width + " x " + maxSize.height);
mraid.getScreenSize = function() {
log.i("mraid.getScreenSize: " + screenSize.width + " x " +
screenSize.height);
mraid.getResizeProperties = function() {
log.i("mraid.getResizeProperties");
var properties = {
"width" : resizeProperties.width,
"height" : resizeProperties.height,
"offsetX" : resizeProperties.offsetX,
"offsetY" : resizeProperties.offsetY,
"customClosePosition" : resizeProperties.customClosePosition,
"allowOffscreen" : resizeProperties.allowOffscreen
};
return properties;
};
mraid.setResizeProperties = function(properties) {
log.i("mraid.setResizeProperties");
isResizeReady = false;
// The properties object passed into this function must contain width,
height, offsetX, offsetY.
// The remaining two properties are optional.
var rwProps = [ "width", "height", "offsetX", "offsetY" ];
for (var i = 0; i < rwProps.length; i++) {
var propname = rwProps[i];
if (!properties.hasOwnProperty(propname)) {
var message = "required property " + propname + " is missing";
log.e(message);
broadcastEvent(EVENTS.ERROR, message, "setResizeProperties");
return;
}
}
if (!validate(properties, "setResizeProperties")) {
log.e("validation failed!");
return;
}
if (!allowOffscreen) {
if (properties.width > maxSize.width || properties.height >
maxSize.height) {
var message = "Resize width or height is greater than the maxSize
width or height!";
log.e(message);
broadcastEvent(EVENTS.ERROR, message, "setResizeProperties");
return;
}
adjustments = resizeUtil.fitResizeViewOnScreen(properties);
} else if (!resizeUtil.isCloseRegionOnScreen(properties)) {
var message = "Close event region will not appear entirely onscreen!";
log.e(message);
broadcastEvent(EVENTS.ERROR, message, "setResizeProperties");
return;
}
var params = {
"width" : resizeProperties.width,
"height" : resizeProperties.height,
"offsetX" : resizeProperties.offsetX + adjustments.x,
"offsetY" : resizeProperties.offsetY + adjustments.y,
"customClosePosition" : resizeProperties.customClosePosition,
"allowOffscreen" : resizeProperties.allowOffscreen
};
notifyNative("setResizeProperties", JSON.stringify(params));
isResizeReady = true;
};
mraid.getLocation = function() {
if (!validate(locationData, "locationData")) {
log.e("invalid location data!");
return -1;
}
var data = {
"lat" : locationData.lat,
"lon" : locationData.lon,
"type" : locationData.type,
"accuracy" : locationData.accuracy,
"lastfix" : locationData.lastfix,
"ipservice" : locationData.ipservice
};
return data;
};
/**
* mraid methods
**/
mraid.getVersion = function() {
log.i("mraid.getVersion: " + VERSION);
return VERSION;
};
if (!event || !listener) {
broadcastEvent(EVENTS.ERROR, "Both event and listener are required.",
"addEventListener");
return;
}
if (!contains(event, EVENTS)) {
broadcastEvent(EVENTS.ERROR, "Unknown MRAID event: " + event,
"addEventListener");
return;
}
if (!eventListeners[event]) {
eventListeners[event] = new EventListeners(event);
}
eventListeners[event].add(listener);
};
if (!event) {
broadcastEvent(EVENTS.ERROR, "Event is required.",
"removeEventListener");
return;
}
if (!contains(event, EVENTS)) {
broadcastEvent(EVENTS.ERROR, "Unknown MRAID event: " + event,
"removeEventListener");
return;
}
if (eventListeners[event]) {
if (!listener) {
eventListeners[event].removeAll();
} else if (!eventListeners[event].remove(listener)) {
broadcastEvent(EVENTS.ERROR, "Listener not currently registered for
event.", "removeEventListener");
}
}
mraid.open = function(url) {
log.i("mraid.open: " + url);
if (!url) {
broadcastEvent(EVENTS.ERROR, "Invalid URL: " + url, "open");
return;
}
notifyNative("open", url);
};
mraid.close = function() {
log.i("mraid.close");
notifyNative("close");
};
mraid.unload = function() {
log.i("mraid.unload");
notifyNative("unload");
};
mraid.useCustomClose = function(shouldUseCustomClose) {
log.i("mraid.useCustomClose: " + shouldUseCustomClose);
expandProperties.useCustomClose = shouldUseCustomClose;
notifyNative("useCustomClose", shouldUseCustomClose);
};
mraid.expand = function(url) {
log.i("mraid.expand: " + (url === undefined) ? "(1-part)" : url);
mraid.isViewable = function() {
log.i("mraid.isViewable");
return isViewable;
};
mraid.playVideo = function(uri) {
log.i("mraid.playVideo: " + uri);
if (!uri) {
broadcastEvent(EVENTS.ERROR, "Invalid URI: " + uri, "playVideo");
return;
}
notifyNative("playVideo", uri);
};
mraid.resize = function() {
log.i("mraid.resize");
// The only time it is valid to call resize is when the ad is
// a banner currently in either default or resized state.
// Trigger an error if the current state is expanded.
if (placementType === PLACEMENT_TYPE.INTERSTITIAL || state ===
STATES.LOADING || state === STATES.HIDDEN) {
// do nothing
return;
}
if (state === STATES.EXPANDED) {
broadcastEvent(EVENTS.ERROR, "Ad cannot be resized when in expanded
state.", "resize");
return;
}
if (!isResizeReady) {
broadcastEvent(EVENTS.ERROR, "Ad is not ready for resizing.",
"resize");
return;
}
notifyNative("resize", JSON.stringify(resizeProperties));
};
mraid.storePicture = function(uri) {
log.i("mraid.storePicture: " + uri);
if (!mraid.supports(mraid.SUPPORTED_FEATURES.STOREPICTURE)) {
broadcastEvent(EVENTS.ERROR, "storePicture is not supported",
"storePicture");
return;
}
if (!uri) {
broadcastEvent(EVENTS.ERROR, "Invalid URI: " + uri, "storePicture");
return;
}
notifyNative("storePicture", uri);
};
mraid.createCalendarEvent = function(parameters) {
log.i("mraid.createCalendarEvent");
if (!mraid.supports(mraid.SUPPORTED_FEATURES.CALENDAR)) {
broadcastEvent(EVENTS.ERROR, "createCalendarEvent is not supported",
"createCalendarEvent");
return;
}
notifyNative("createCalendarEvent", JSON.stringify(parameters));
};
/**
* event dispatchers
**/
mraid.fireErrorEvent = function(message, action) {
broadcastEvent(EVENTS.ERROR, message, action);
};
mraid.fireReadyEvent = function() {
broadcastEvent(EVENTS.READY);
};
mraid.fireStateChangeEvent = function(newState) {
if (state !== newState) {
state = newState;
broadcastEvent(EVENTS.STATECHANGE, state);
}
};
mraid.fireViewableChangeEvent = function(newIsViewable) {
if (isViewable !== newIsViewable) {
isViewable = newIsViewable;
broadcastEvent(EVENTS.VIEWABLECHANGE, isViewable);
}
};
mraid.fireAudioVolumeChangeEvent = function(percentage) {
if (volumePercentage !== percentage) {
volumePercentage = volumePercentage;
broadcastEvent(EVENTS.AUDIOVOLUMECHANGE, percentage);
}
};
// TODO: VPAID
/**
* pokkt extended featuers
**/
(function() {
log.i("setting up: mraid-extensions...");
/**
* pokkt specific constants
**/
var NETWORK = mraid.NETWORK = {
OFFLINE :'offline',
WIFI :'wifi',
CELL :'cell',
UNKNOWN :'unknown'
};
mraid.SUPPORTED_FEATURES.AUDIO = "audio";
mraid.SUPPORTED_FEATURES.CAMERA = "camera";
mraid.SUPPORTED_FEATURES.NETWORK = "network";
mraid.SUPPORTED_FEATURES.SHAKE = "shake";
mraid.SUPPORTED_FEATURES.TILT = "tilt";
mraid.SUPPORTED_FEATURES.HEADING = "heading";
mraid.SUPPORTED_FEATURES.ORIENTATION = "orientation";
mraid.SUPPORTED_FEATURES.MAP = "map";
mraid.EVENTS.SHAKE = "shake";
mraid.EVENTS.TILTCHANGE = "tiltChange";
mraid.EVENTS.HEADINGCHANGE = "headingChange";
mraid.EVENTS.LOCATIONCHANGE = "locationChange";
mraid.EVENTS.NETWORKCHANGE = "networkChange";
mraid.EVENTS.KEYBOARDSTATECHANGE = "keyboardStateChange";
/**
* pokkt specific states
**/
var shakeProperties = {
"interval" : 0,
"intensity" : 0
};
var tiltProperties = {
"interval" : 0,
"intensity" : 0
};
var headingProperties = {
"interval" : 0,
"intensity" : 0
};
var tiltValues = {
"x" : 0,
"y" : 0,
"z" : 0
};
var headingValue = 0;
var currentNetwork = "";
var currentKeyboardState = 0;
/**
* pokkt specific validators
**/
mraidUtils.allValidators.setShakeProperties =
mraidUtils.allValidators.setTiltProperties =
mraidUtils.allValidators.setHeadingProperties = {
"intensity":function(value) { return !isNaN(value); },
"interval":function(value) { return !isNaN(value); }
};
mraidUtils.allValidators.setTilt = {
"x":function(value) { return !isNaN(value); },
"y":function(value) { return !isNaN(value); },
"z":function(value) { return !isNaN(value); }
};
/**
* pokkt's extended properties
**/
mraid.setShakeProperties = function(properties) {
log.i("mraid.setShakeProperties: " + properties);
if (!mraidUtils.validate(properties, "setShakeProperties")) {
log.e("validation failed!");
return;
}
shakeProperties = properties;
mraidBridge.notifyNative("setShakeProperties", JSON.stringify(properties));
};
mraid.getShakeProperties = function() {
log.i("mraid.getShakeProperties");
mraid.setTiltProperties = function(properties) {
log.i("mraid.setTiltProperties: " + properties);
if (!mraidUtils.validate(properties, "setTiltProperties")) {
log.e("validation failed!");
return;
}
tiltProperties = properties;
mraidBridge.notifyNative("setTiltProperties", JSON.stringify(properties));
};
mraid.getTiltProperties = function() {
log.i("mraid.getTiltProperties");
mraid.setHeadingProperties = function(properties) {
log.i("mraid.setHeadingProperties: " + properties);
if (!mraidUtils.validate(properties, "setHeadingProperties")) {
log.e("validation failed!");
return;
}
headingProperties = properties;
mraidBridge.notifyNative("setHeadingProperties",
JSON.stringify(properties));
};
mraid.getHeadingProperties = function() {
log.i("mraid.getHeadingProperties");
mraid.getTilt = function () {
log.i("mraid.getTilt");
tiltValues = newValue;
};
mraid.getNetwork = function () {
log.i("mraid.getNetwork");
return currentNetwork;
};
mraid.getKeyboardState = function () {
log.i("mraid.getKeyboardState");
return currentKeyboardState;
}
/**
* extended methods
**/
mraid.playAudio = function(url) {
log.i("mraid.playAudio " + url);
if (!mraid.supports(mraid.SUPPORTED_FEATURES.AUDIO)) {
mraidUtils.broadcastEvent(mraid.EVENTS.ERROR, "playAudio is not
supported", "playAudio");
return;
}
mraidBridge.notifyNative("playAudio", url);
};
mraid.openCamera = function () {
log.i("mraid.openCamera");
if (!mraid.supports(mraid.SUPPORTED_FEATURES.CAMERA)) {
mraidUtils.broadcastEvent(mraid.EVENTS.ERROR, "openCamera is not
supported", "openCamera");
return;
}
mraidBridge.notifyNative("openCamera");
}
/**
* event dispatchers
**/
mraid.fireShakeEvent = function() {
log.i("mraid.fireShakeEvent");
mraidUtils.broadcastEvent(mraid.EVENTS.SHAKE);
}
mraid.fireTiltChangeEvent = function(x, y, z) {
log.i("mraid.fireTiltChangeEvent, x: " + x + " y: " + y + " z: " + z);
tiltValues.x = x;
tiltValues.y = y;
tiltValues.z = z;
mraidUtils.broadcastEvent(mraid.EVENTS.TILTCHANGE, x, y, z);
}
mraid.fireHeadingChangeEvent = function(val) {
log.i("mraid.fireHeadingChangeEvent, val: " + val);
if (headingValue != val) {
headingValue = val;
mraidUtils.broadcastEvent(mraid.EVENTS.HEADINGCHANGE, val);
}
}
mraid.fireNetworkChangeEvent = function(network) {
log.d("mraid.fireNetworkChangeEvent: " + network);
if (currentNetwork != network) {
currentNetwork = network;
mraidUtils.broadcastEvent(mraid.EVENTS.NETWORKCHANGE, network);
}
}
mraid.fireKeyboardStateChangeEvent = function(state) {
log.d("mraid.fireKeyboardStateChangeEvent: " + state);
if (currentKeyboardState !== state) {
currentKeyboardState = state;
mraidUtils.broadcastEvent(mraid.EVENTS.KEYBOARDSTATECHANGE, state);
}
}
1563709429641 com.zapak.ben10alienrace
{"pin":"247554","country":"India","countryCode":"IN","state":"Uttar
Pradesh","city":"Deoband","locality":"Matkota","area":"Saharanpur"}
1563709435606 com.zapak.ben10alienrace
{"pin":"247554","country":"India","countryCode":"IN","state":"Uttar
Pradesh","city":"Deoband","locality":"Matkota","area":"Saharanpur"}
1563811293391 com.zapak.ben10alienrace
{"pin":"247554","country":"India","countryCode":"IN","state":"Uttar
Pradesh","city":"Labkari","area":"Saharanpur"}
1563811297112 com.zapak.ben10alienrace
Duplicate:co.tinybit.supermarket.shopping.fun Video & Computer Games
1563811297152 com.zapak.ben10alienrace
Duplicate:co.romesoft.kids.shopping.supermarket Video & Computer Games
1563811297164 com.zapak.ben10alienrace
Duplicate:co.tinybit.shopping.mall.rich.girls Video & Computer Games
1563811297174 com.zapak.ben10alienrace
Duplicate:com.tgg.shoppingmallshopaholicgirls Video & Computer Games
1563811297193 com.zapak.ben10alienrace
Duplicate:com.kixolabs.supermarket.cashier.shopping Video & Computer Games
1563811297199 com.zapak.ben10alienrace
Duplicate:com.appricot2d.girls.fashion.store.cashier Video & Computer Games
1563811297205 com.zapak.ben10alienrace
Duplicate:com.gameslogicinteractive.kidssupermarketshoppingadventure Video &
Computer Games
ionScripts);b=this.b;var c=a.impressionOwner;a=a.videoEventsOwner;bb(b)?
C('Impression event has occcured before the event owners have been registered.'):
(b.a.b!==c&&'none'===b.a.b&&
(b.a.b=c),b.a.a!==a&&'none'===b.a.a&&(b.a.a=a),gb(b,a))}};
h.P=function(a,b,c){var d;if(d=V(b))
{if(d=W(b.environment,pa)&&W(b.adSessionType,ma))d=b.omidNativeInfo,d=V(d)?
U(d.partnerName)&&U(d.partnerVersion):!1;d&&(d=b.app,d=V(d)?
U(d.libraryVersion)&&U(d.appId):!1)}d&&(this.a.adSessionId=a,a=b,b=this.a.c||
{},a.omidJsInfo=Object.assign({},b.omidJsInfo||{},a.omidJsInfo||
{}),b=a=Object.assign({},b,a),this.a.m||(this.a.g?
(b.videoElement=this.a.g,b.accessMode='full'):this.a.f&&(b.slotElement=this.a.f,b.a
ccessMode='full')),this.a.c=a,cb(this.b,c),this.c&&T(this.c))};
h.G=function(){db(this.b)};h.N=function(a)
{V(a)&&zb(a.x)&&zb(a.y)&&zb(a.width)&&zb(a.height)&&(this.a.v=a,jb(this.f,'containe
r'))};h.O=function(a){W(a,oa)&&(this.a.j=a,'backgrounded'===a?
jb(this.f,'container','backgrounded'):jb(this.f,'container'))};h.L=function(a)
{'impression'===a&&(this.D(),this.c&&T(this.c))};h.D=function()
{hb(this.b,'native')&&eb(this.b,'native')};h.error=function(a,b)
{W(a,la)&&Q(this.b,a,b)};
h.I=function(a,b){ib(this.b,'native')&&W(a,t)&&(void 0===b||
V(b))&&fb(this.b,a,'native',b)};h.M=function(a){if('none'!
==this.b.a.a&&'number'===typeof a&&!isNaN(a)){this.a.l=a;a=this.g;var b=a.a.B;null!
=b&&fb(a.b,'volumeChange','native',
{videoPlayerVolume:b,deviceVolume:a.a.l})}};X.prototype.startSession=X.prototype.P;
X.prototype.error=X.prototype.error;X.prototype.finishSession=X.prototype.G;X.proto
type.publishAdEvent=X.prototype.L;X.prototype.publishImpressionEvent=X.prototype.D;
X.prototype.publishVideoEvent=X.prototype.I;X.prototype.setNativeViewHierarchy=X.pr
ototype.N;X.prototype.setState=X.prototype.O;X.prototype.setDeviceVolume=X.prototyp
e.M;X.prototype.init=X.prototype.H;function Ab(a,b,c){var d=this;c=c?
c:v;this.b=a;this.a=b;this.i=c;this.h=new z;c.omid=c.omid||
{};c.omid.v1_SessionServiceCommunication=this.h;this.f=null;c&&c.addEventListener&&
c.postMessage&&(this.f=new
E(c));this.h.a=this.J.bind(this);this.f&&(this.f.a=this.K.bind(this));this.c=[];thi
s.g=!1;Bb(this,function(a){return Cb(d,a)})}function Bb(a,b){$a(a.b,b)}function
Db(a,b){P().f=b;a.a&&mb(a.a)}function Eb(a,b){P().g=b;a.a&&mb(a.a)}function Fb(a,b)
{P().i=b;a.a&&mb(a.a);a.a&&nb(a.a)}h=Ab.prototype;
h.error=function(a,b){Q(this.b,a,b)};function Gb(a)
{hb(a.b,'javascript')&&(eb(a.b,'javascript'),a.a&&T(a.a))}h.loaded=function(a){var
b={skippable:a.isSkippable,autoPlay:a.isAutoPlay,position:a.position};a.isSkippable
&&(b.skipOffset=a.skipOffset);fb(this.b,'loaded','javascript',b);this.a&&T(this.a)}
;h.start=function(a,b){Y(this,'start',
{duration:a,videoPlayerVolume:b});this.a&&T(this.a)};
function Hb(a){if(a.g&&a.c.length){var b=a.c;if(a.i&&'undefined'!==typeof
a.i.document)for(var c=P().m,d=0;d<b.length;d++){var
e=b[d],f=d,l=e.resourceUrl,g=a.i.document,m=g.createElement('iframe');c&&(m.sandbox
='allow-scripts');m.id='omid-verification-script-
frame-'+f;m.style.display='none';m.srcdoc='<html><head>'+('<script
type="text/javascript" src="'+l+'">\x3c/script>')
+'</head><body></body></html>';g.body.appendChild(m);f=e.vendorKey;e=e.verification
Parameters;f=void 0===f?'':f;e=void 0===e?'':
e;f&&'string'===typeof f&&''!==f&&e&&'string'===typeof e&&''!==e&&(a.b.f[f]=e)}else
C('OMID Session Client is not running within a window');a.c=[]}}function Ib(a){var
b=P().c.omidJsInfo;a(b.serviceVersion)}function Cb(a,b)
{'sessionStart'===b.type&&(a.g=!0,Hb(a));'sessionFinish'===b.type&&(a.g=!
1,Bb(a,function(b){return Cb(a,b)}))}function Jb(a,b,c){var d=P().c||
{};d.omidJsInfo=Object.assign({},d.omidJsInfo,
{sessionClientVersion:a,partnerName:b,partnerVersion:c});P().c=d}
function Y(a,b,c){'javascript'===P().a&&fb(a.b,b,'javascript',c)}h.K=function(a,b)
{Kb(this,a,b,this.f)};h.J=function(a,b){Kb(this,a,b,this.h)};
function Kb(a,b,c,d){function e(a){for(var b=[],e=0;e<arguments.length;++e)b[e-
0]=arguments[e];b=new u(f,'response',g,ia(g)&&ja(g)?
b:JSON.stringify(b));d.sendMessage(b,c)}var
f=b.b,l=b.method,g=b.version;b=ka(g,b.a);try{switch(l){case
'SessionService.registerAdEvents':hb(a.b,'javascript');break;case
'SessionService.registerVideoEvents':ib(a.b,'javascript');break;case
'SessionService.registerSessionObserver':Bb(a,e);break;case
'SessionService.setSlotElement':var m=p(b).next().value;Db(a,m);break;case
'SessionService.setVideoElement':var N=
p(b).next().value;Eb(a,N);break;case 'SessionService.setElementBounds':var
x=p(b).next().value;Fb(a,x);break;case
'SessionService.impressionOccurred':Gb(a);break;case 'SessionService.loaded':var
A=p(b).next().value;a.loaded(A);break;case 'SessionService.start':var
G=p(b),H=G.next().value,B=G.next().value;a.start(H,B);break;case
'SessionService.firstQuartile':Y(a,'firstQuartile');break;case
'SessionService.midpoint':Y(a,'midpoint');break;case
'SessionService.thirdQuartile':Y(a,'thirdQuartile');break;
case 'SessionService.complete':Y(a,'complete');break;case
'SessionService.pause':Y(a,'pause');break;case
'SessionService.resume':Y(a,'resume');break;case
'SessionService.bufferStart':Y(a,'bufferStart');break;case
'SessionService.bufferFinish':Y(a,'bufferFinish');break;case
'SessionService.skipped':Y(a,'skipped');break;case
'SessionService.volumeChange':var w=p(b).next().value;Y(a,'volumeChange',
{videoPlayerVolume:w});break;case 'SessionService.playerStateChange':var
va=p(b).next().value;Y(a,'playerStateChange',
{state:va});break;case 'SessionService.adUserInteraction':var
wa=p(b).next().value;Y(a,'adUserInteraction',{interactionType:wa});break;case
'SessionService.setClientInfo':var
R=p(b),xa=R.next().value,ya=R.next().value,y=R.next().value;Jb(xa,ya,y);Ib(e);break
;case 'SessionService.injectVerificationScriptResources':var
Rb=p(b).next().value;a.c.push.apply(a.c,[].concat(r(Rb)));Hb(a);break;case
'SessionService.sessionError':var
kb=p(b),Sb=kb.next().value,Tb=kb.next().value;a.error(Sb,Tb)}}catch(D)
{d.sendMessage(new u(f,
'error',g,'\n name: '+D.name+'\n message: '+D.message+'\n
filename: '+D.filename+'\n lineNumber: '+D.lineNumber+'\n
columnNumber: '+D.columnNumber+'\n stack: '+D.stack+'\n
toString(): '+D.toString()+'\n '),c)}};function Lb(a,b,c){c=c?
c:v;this.g=a;this.a=b;this.h={};this.f={};this.c=new z;c.omid=c.omid||
{};c.omid.v1_VerificationServiceCommunication=this.c;this.b=null;c&&c.addEventListe
ner&&c.postMessage&&(this.b=new
E(c));this.c.a=this.i.bind(this);this.b&&(this.b.a=this.j.bind(this))}function
Mb(a,b,c,d){ub(a.a,b,c,d)}function Nb(a,b,c,d){tb(a.a,'downloadJavaScriptResource')
(b,c,d)}Lb.prototype.j=function(a,b)
{this.b&&Ob(this,a,b,this.b)};Lb.prototype.i=function(a,b){Ob(this,a,b,this.c)};
function Ob(a,b,c,d){function e(a){for(var b=[],e=0;e<arguments.length;++e)b[e-
0]=arguments[e];b=new u(f,'response',g,ia(g)&&ja(g)?
b:JSON.stringify(b));d.sendMessage(b,c)}var
f=b.b,l=b.method,g=b.version;b=ka(g,b.a);try{switch(l){case
'VerificationService.addEventListener':var
m=p(b).next().value;Ya(a.g,m,e);break;case
'VerificationService.addSessionListener':var N=p(b).next().value;
$a(a.g,e,N);break;case 'VerificationService.sendUrl':var
x=p(b).next().value;Mb(a,x,function(){return e(!0)},function(){return e(!1)});
break;case 'VerificationService.setTimeout':var
A=p(b),G=A.next().value,H=A.next().value;a.h[G]=qb(a.a,'setTimeout')
(e,H);break;case 'VerificationService.clearTimeout':var
B=p(b).next().value;sb(a.a,a.h[B]);break;case 'VerificationService.setInterval':var
w=p(b),va=w.next().value,wa=w.next().value;a.f[va]=pb(a.a,e,wa);break;case
'VerificationService.clearInterval':var
R=p(b).next().value;rb(a.a,a.f[R]);break;case
'VerificationService.injectJavaScriptResource':var
xa=p(b).next().value;Nb(a,xa,function(a){return e(!0,
a)},function(){return e(!1)});break;case
'VerificationService.getVersion':p(b).next();var
ya=P().c.omidJsInfo;e(ya.serviceVersion)}}catch(y){d.sendMessage(new
u(f,'error',g,'\n name: '+y.name+'\n message:
'+y.message+'\n filename: '+y.filename+'\n lineNumber:
'+y.lineNumber+'\n columnNumber: '+y.columnNumber+'\n
stack: '+y.stack+'\n toString(): '+y.toString()+'\n
'),c)}};var Z=new Ta,Pb=new function(){var a;this.a=a=void 0===a?omidGlobal:a};new
Lb(Z,Pb);var Qb=new function(){var a=new Na;this.c=Z;this.b=a;this.a=P()},Ub=v?
v.IntersectionObserver?new xb(v,Qb,Z):new vb(v,Qb,Pb,Z):null;new
Ab(Z,Ub);v.omidBridge=new X(Z,Qb,new function(){var a=P();this.b=Z;this.a=a},new
function(){},Ub);if(v.frames&&v.document&&!('omid_v1_present'in v.frames)){var
Vb;if(Vb=!v.document.body)Vb='MutationObserver'in v;Vb?za():v.document.body?
ua(v):v.document.write('<iframe style="display:none" id="omid_v1_present"
name="omid_v1_present"></iframe>')};
}).call(this, this);
1563811297216 com.zapak.ben10alienrace
Duplicate:com.gsstudio.shopping.mall.toy.car.race.sim Video & Computer Games
1563811297223 com.zapak.ben10alienrace
Duplicate:com.gsstudio.shopping.mall.tourists.train.sim Video & Computer Games
<script src="https://imasdk.googleapis.com/js/sdkloader/ima3.js"></script>
<script src="https://s3-ap-southeast-
1.amazonaws.com/sdkplugin/imasupport/video.min.js"></script>
<script src="https://s3-ap-southeast-
1.amazonaws.com/sdkplugin/imasupport/videojs.ads.min.js"></script>
<script src="https://s3-ap-southeast-
1.amazonaws.com/sdkplugin/imasupport/videojs.ima.js"></script>
<script type="text/javascript">
/**
* console logger
**/
(function() {
var LOG_LEVEL = {
"DEBUG" : 0,
"INFO" : 1,
"WARNING" : 2,
"ERROR" : 3
};
log.d = function(msg) {
if (logLevel <= LOG_LEVEL.DEBUG) {
console.log("[DEBUG] " + msg);
}
};
log.i = function(msg) {
if (logLevel <= LOG_LEVEL.INFO) {
console.log("[INFO] " + msg);
}
};
log.w = function(msg) {
if (logLevel <= LOG_LEVEL.WARN) {
console.log("[WARN] " + msg);
}
};
log.e = function(msg) {
console.log("[ERROR] " + msg);
};
} ());
/**
* bridge
**/
(function() {
window.pokktNativeBridge = {};
window.pokktNativeBridge.notifyNative = function(operation, params) {
log.i('notifying native of: ' + operation + ' , with params: ' + params);
/**
* POKKT-IMA Wrapper
**/
var PokktIMAWrapper = function(debugEnabled) {
log.i('preparing ima wrapper for pokkt...');
this.player = videojs('pokkt-video-ad');
this.player.fluid(true);
// Remove controls from the player on iPad to stop native controls from
stealing our click
if (navigator.userAgent.match(/iPad/i) ||
navigator.userAgent.match(/Android/i)){
var contentPlayer = document.getElementById('content_video_html5_api');
if (contentPlayer != null && contentPlayer.hasAttribute('controls')) {
contentPlayer.removeAttribute('controls');
}
this.player.controls(false);
}
var options = {
debug: debugEnabled,
id: 'pokkt-video-ad',
autoPlayAdBreaks: false,
showControlsForJSAds: false,
vpaidMode: 'INSECURE',
disableCustomPlaybackForIOS10Plus: true,
adsManagerLoadedCallback: this.adsManagerLoadedCallback.bind(this)
};
this.player.ima(options);
this.player.ima.setAdBreakReadyListener(function(){
log.i('ad-break ready, attempting ad playback...');
this.player.ima.playAdBreak();
});
pokktNativeBridge.notifyNative('wrapperPrepared');
};
this.player.ima.initializeAdDisplayContainer();
if (isAdTagAUrl) {
this.player.ima.setContentWithAdTag(null, adTag, false);
} else {
this.player.ima.setContentWithAdsResponse(null, adTag, false);
}
this.player.ima.requestAds();
};
PokktIMAWrapper.prototype.adsManagerLoadedCallback = function(event) {
log.i('ads-manager loaded, registering remaining listners...');
var events = [
google.ima.AdEvent.Type.AD_BREAK_READY,
google.ima.AdEvent.Type.AD_CAN_PLAY,
google.ima.AdEvent.Type.AD_METADATA,
google.ima.AdEvent.Type.ALL_ADS_COMPLETED,
google.ima.AdEvent.Type.CLICK,
google.ima.AdEvent.Type.COMPLETE,
google.ima.AdEvent.Type.CONTENT_PAUSE_REQUESTED,
google.ima.AdEvent.Type.CONTENT_RESUME_REQUESTED,
google.ima.AdEvent.Type.DURATION_CHANGE,
google.ima.AdEvent.Type.EXPANDED_CHANGED,
google.ima.AdEvent.Type.FIRST_QUARTILE,
google.ima.AdEvent.Type.IMPRESSION,
google.ima.AdEvent.Type.INTERACTION,
google.ima.AdEvent.Type.LINEAR_CHANGED,
google.ima.AdEvent.Type.LOADED,
google.ima.AdEvent.Type.LOG,
google.ima.AdEvent.Type.MIDPOINT,
google.ima.AdEvent.Type.PAUSED,
google.ima.AdEvent.Type.RESUMED,
google.ima.AdEvent.Type.SKIPPABLE_STATE_CHANGED,
google.ima.AdEvent.Type.SKIPPED,
google.ima.AdEvent.Type.STARTED,
google.ima.AdEvent.Type.THIRD_QUARTILE,
google.ima.AdEvent.Type.USER_CLOSE,
google.ima.AdEvent.Type.VIEWABLE_IMPRESSION,
google.ima.AdEvent.Type.VOLUME_CHANGED,
google.ima.AdEvent.Type.VOLUME_MUTED,
google.ima.AdErrorEvent.Type.AD_ERROR
];
window.addEventListener('resize', this.onWindowResize.bind(this));
};
PokktIMAWrapper.prototype.onAdEvent = function(event) {
var message = 'Ad event: ' + event.type;
log.i(message);
PokktIMAWrapper.prototype.playAd = function() {
this.player.ima.playAdBreak();
};
PokktIMAWrapper.prototype.pauseAd = function() {
this.player.pause();
};
PokktIMAWrapper.prototype.onWindowResize = function() {
var adContainer = document.getElementById('pokkt-ima-adcontainer');
var videoElement = document.getElementById('pokkt-video-ad');
var adContainerWidth = adContainer.offsetWidth;
var videoHeight = videoElement.offsetHeight;
function prepareIMA(debugEnabled) {
window.imaAds = new PokktIMAWrapper(debugEnabled);
}
function playAd() {
window.imaAds.playAd();
}
function pauseAd() {
window.imaAds.pauseAd();
}
</script>
</body>
</html>
1563811297769 com.zapak.ben10alienrace
Duplicate:co.tinybit.supermarket.shopping.fun Video & Computer Games
1563811297772 com.zapak.ben10alienrace
Duplicate:co.romesoft.kids.shopping.supermarket Video & Computer Games
1563811297783 com.zapak.ben10alienrace
Duplicate:co.tinybit.shopping.mall.rich.girls Video & Computer Games
1563811297789 com.zapak.ben10alienrace
Duplicate:com.tgg.shoppingmallshopaholicgirls Video & Computer Games
1563811297792 com.zapak.ben10alienrace
Duplicate:com.kixolabs.supermarket.cashier.shopping Video & Computer Games
1563811297792 com.zapak.ben10alienrace
Duplicate:com.appricot2d.girls.fashion.store.cashier Video & Computer Games
1563811297792 com.zapak.ben10alienrace
Duplicate:com.gameslogicinteractive.kidssupermarketshoppingadventure Video &
Computer Games
1563811297794 com.zapak.ben10alienrace
Duplicate:com.expertinapps.supermarket.shopping.mall.girl Video & Computer Games
1563811297794 com.zapak.ben10alienrace
Duplicate:com.gsstudio.shopping.mall.toy.car.race.sim Video & Computer Games
1563811297798 com.zapak.ben10alienrace
Duplicate:com.gsstudio.shopping.mall.tourists.train.sim Video & Computer Games
log.d = function(msg) {
if (logLevel <= LOG_LEVEL.DEBUG) {
console.log("[DEBUG] " + msg);
}
};
log.i = function(msg) {
if (logLevel <= LOG_LEVEL.INFO) {
console.log("[INFO] " + msg);
}
};
log.w = function(msg) {
if (logLevel <= LOG_LEVEL.WARN) {
console.log("[WARN] " + msg);
}
};
log.e = function(msg) {
console.log("[ERROR] " + msg);
};
} ());
</script>
function is_pokkt_sdk() {
return true;
}
function pokkt_on_close() {
pauseAd();
if (typeof(Android) != "undefined" && Android.closeInterstitial) {
Android.closeInterstitial();
} else {
if (window.external && window.external.notify) {
window.external.notify("closeInterstitial");
}
}
}
function pokktOnComplete() {
if (typeof(Android) != "undefined" && Android.gratifyInterstitial)
{
Android.gratifyInterstitial();
} else {
if(window && window.external && window.external.notify) {
window.external.notify("gratifyInterstitial");
}
}
}
// function injectScript() {
// var Android = {};
// function closeInterstitial() {
// setTimeout(function() {
// window.location = 'pokkt://closeInterstitial';
// }, 1000);
// };
// function gratifyInterstitial() {
// window.location = 'pokkt://gratifyInterstitial';
// };
// Android.closeInterstitial = closeInterstitial;
// Android.gratifyInterstitial = gratifyInterstitial;
// window.Android = Android;
// }
// injectScript();
</script>
pokktOMIDBridge.createOMIDSession = function(omidSDKVersion,
vendors, partnerName, partnerVersion) {
log.i('creating omid session...');
var sessionClient;
try {
sessionClient = OmidSessionClient[omidSDKVersion];
} catch (e) {
log.i('error creating sessionClient!');
}
if (!sessionClient) {
log.i('sessionClient not available!');
pokktNativeBridge.notifyNative('omWrapperFailed');
return;
}
if (!resources.length) {
log.i('no verification resources found!');
pokktNativeBridge.notifyNative('omWrapperFailed');
return;
}
adSession.registerSessionObserver(function (event) {
log.i('omid session event: ' + event.type)
if (event.type === "sessionStart") {
videoEvents.loaded({ isSkippable: true, isAutoPlay:
true, position: 'standalone' });
adEvents.impressionOccurred();
} else if (event.type === "sessionError") {
log.i('session error occured! ' + event);
} else if (event.type === "sessionFinish") {
log.i('session finished!');
}
});
function initOMIDSession(pokktOMConfig) {
log.i('initializing omid session...');
<script type="text/javascript">
window.vjsPlayer = videojs('pokkt-video-ad', {
'controls':false,
'forceSSL':true
}, function () {
log.i('videojs is ready!');
setupEventListeners(this);
window.pokktNativeBridge.notifyNative('vjsPlayerReady');
//this.play();
});
if (isTagAnURL) {
vastClientSettings.adTagUrl = vastTag;
} else {
vastResponseXML = vastTag;
vastClientSettings.adTagXML = 'requestVASTXML';
}
window.vjsPlayer.vastClient(vastClientSettings);
}
function setupEventListeners(player) {
log.i('setting up listeners on player: ' + player);
player.on('vpaid.AdVideoStart', function(e) {
log.i('window.pokktOMIDBridge start');
player.on('vpaid.AdVideoFirstQuartile', function(e) {
log.i('window.pokktOMIDBridge first quartile');
player.on('vpaid.AdVideoMidpoint', function(e) {
log.i('window.pokktOMIDBridge midpoint');
player.on('vpaid.AdVideoThirdQuartile', function(e) {
log.i('window.pokktOMIDBridge third quartile');
player.on('vpaid.AdVideoComplete', function(e) {
log.i('window.pokktOMIDBridge complete');
player.on('vpaid.AdSkipped', function(e) {
log.i('window.pokktOMIDBridge skipped');
player.on('vpaid.AdPaused', function(e) {
log.i('window.pokktOMIDBridge paused');
player.on('vpaid.AdPlaying', function(e) {
log.i('window.pokktOMIDBridge resumed');
window.pokktOMIDBridge.videoEvents.volumeChange(videoPlayerVolume);
});
}
function playAd() {
window.vjsPlayer.play();
}
function pauseAd() {
window.vjsPlayer.pause();
}
</script>
<script type="text/javascript">
// replace macros and call the following
// setupVJS(isTagAnURL, vastTag, moatData, moatPartnerCode);
setupVJS({{IS_TAG_A_URL}}, '{{VAST_TAG}}', {{MOAT_DATA}},
'{{MOAT_PARTNER_CODE}}');
</script>
</body>
</html>
<script src="https://imasdk.googleapis.com/js/sdkloader/ima3.js"></script>
<script src="https://s3-ap-southeast-
1.amazonaws.com/sdkplugin/imasupport/video.min.js"></script>
<script src="https://s3-ap-southeast-
1.amazonaws.com/sdkplugin/imasupport/videojs.ads.min.js"></script>
<script src="https://s3-ap-southeast-
1.amazonaws.com/sdkplugin/imasupport/videojs.ima.js"></script>
<script type="text/javascript">
/**
* console logger
**/
(function() {
var LOG_LEVEL = {
"DEBUG" : 0,
"INFO" : 1,
"WARNING" : 2,
"ERROR" : 3
};
log.d = function(msg) {
if (logLevel <= LOG_LEVEL.DEBUG) {
console.log("[DEBUG] " + msg);
}
};
log.i = function(msg) {
if (logLevel <= LOG_LEVEL.INFO) {
console.log("[INFO] " + msg);
}
};
log.w = function(msg) {
if (logLevel <= LOG_LEVEL.WARN) {
console.log("[WARN] " + msg);
}
};
log.e = function(msg) {
console.log("[ERROR] " + msg);
};
} ());
/**
* bridge
**/
(function() {
window.pokktNativeBridge = {};
window.pokktNativeBridge.notifyNative = function(operation, params) {
log.i('notifying native of: ' + operation + ' , with params: ' + params);
this.player = videojs('pokkt-video-ad');
this.player.fluid(true);
// Remove controls from the player on iPad to stop native controls from
stealing our click
if (navigator.userAgent.match(/iPad/i) ||
navigator.userAgent.match(/Android/i)){
var contentPlayer = document.getElementById('content_video_html5_api');
if (contentPlayer != null && contentPlayer.hasAttribute('controls')) {
contentPlayer.removeAttribute('controls');
}
this.player.controls(false);
}
var options = {
debug: debugEnabled,
id: 'pokkt-video-ad',
autoPlayAdBreaks: false,
showControlsForJSAds: false,
vpaidMode: 'INSECURE',
disableCustomPlaybackForIOS10Plus: true,
adsManagerLoadedCallback: this.adsManagerLoadedCallback.bind(this)
};
this.player.ima(options);
this.player.ima.setAdBreakReadyListener(function(){
log.i('ad-break ready, attempting ad playback...');
this.player.ima.playAdBreak();
});
pokktNativeBridge.notifyNative('wrapperPrepared');
};
this.player.ima.initializeAdDisplayContainer();
if (isAdTagAUrl) {
this.player.ima.setContentWithAdTag(null, adTag, false);
} else {
this.player.ima.setContentWithAdsResponse(null, adTag, false);
}
this.player.ima.requestAds();
};
PokktIMAWrapper.prototype.adsManagerLoadedCallback = function(event) {
log.i('ads-manager loaded, registering remaining listners...');
var events = [
google.ima.AdEvent.Type.AD_BREAK_READY,
google.ima.AdEvent.Type.AD_CAN_PLAY,
google.ima.AdEvent.Type.AD_METADATA,
google.ima.AdEvent.Type.ALL_ADS_COMPLETED,
google.ima.AdEvent.Type.CLICK,
google.ima.AdEvent.Type.COMPLETE,
google.ima.AdEvent.Type.CONTENT_PAUSE_REQUESTED,
google.ima.AdEvent.Type.CONTENT_RESUME_REQUESTED,
google.ima.AdEvent.Type.DURATION_CHANGE,
google.ima.AdEvent.Type.EXPANDED_CHANGED,
google.ima.AdEvent.Type.FIRST_QUARTILE,
google.ima.AdEvent.Type.IMPRESSION,
google.ima.AdEvent.Type.INTERACTION,
google.ima.AdEvent.Type.LINEAR_CHANGED,
google.ima.AdEvent.Type.LOADED,
google.ima.AdEvent.Type.LOG,
google.ima.AdEvent.Type.MIDPOINT,
google.ima.AdEvent.Type.PAUSED,
google.ima.AdEvent.Type.RESUMED,
google.ima.AdEvent.Type.SKIPPABLE_STATE_CHANGED,
google.ima.AdEvent.Type.SKIPPED,
google.ima.AdEvent.Type.STARTED,
google.ima.AdEvent.Type.THIRD_QUARTILE,
google.ima.AdEvent.Type.USER_CLOSE,
google.ima.AdEvent.Type.VIEWABLE_IMPRESSION,
google.ima.AdEvent.Type.VOLUME_CHANGED,
google.ima.AdEvent.Type.VOLUME_MUTED,
google.ima.AdErrorEvent.Type.AD_ERROR
];
window.addEventListener('resize', this.onWindowResize.bind(this));
};
PokktIMAWrapper.prototype.onAdEvent = function(event) {
var message = 'Ad event: ' + event.type;
log.i(message);
PokktIMAWrapper.prototype.playAd = function() {
this.player.ima.playAdBreak();
};
PokktIMAWrapper.prototype.pauseAd = function() {
this.player.pause();
};
PokktIMAWrapper.prototype.onWindowResize = function() {
var adContainer = document.getElementById('pokkt-ima-adcontainer');
var videoElement = document.getElementById('pokkt-video-ad');
var adContainerWidth = adContainer.offsetWidth;
var videoHeight = videoElement.offsetHeight;
function prepareIMA(debugEnabled) {
window.imaAds = new PokktIMAWrapper(debugEnabled);
}
function playAd() {
window.imaAds.playAd();
}
function pauseAd() {
window.imaAds.pauseAd();
}
</script>
</body>
</html>
log.d = function(msg) {
if (logLevel <= LOG_LEVEL.DEBUG) {
console.log("[DEBUG] " + msg);
}
};
log.i = function(msg) {
if (logLevel <= LOG_LEVEL.INFO) {
console.log("[INFO] " + msg);
}
};
log.w = function(msg) {
if (logLevel <= LOG_LEVEL.WARN) {
console.log("[WARN] " + msg);
}
};
log.e = function(msg) {
console.log("[ERROR] " + msg);
};
} ());
</script>
function is_pokkt_sdk() {
return true;
}
function pokkt_on_close() {
pauseAd();
if (typeof(Android) != "undefined" && Android.closeInterstitial) {
Android.closeInterstitial();
} else {
if (window.external && window.external.notify) {
window.external.notify("closeInterstitial");
}
}
}
function pokktOnComplete() {
if (typeof(Android) != "undefined" && Android.gratifyInterstitial)
{
Android.gratifyInterstitial();
} else {
if(window && window.external && window.external.notify) {
window.external.notify("gratifyInterstitial");
}
}
}
// function injectScript() {
// var Android = {};
// function closeInterstitial() {
// setTimeout(function() {
// window.location = 'pokkt://closeInterstitial';
// }, 1000);
// };
// function gratifyInterstitial() {
// window.location = 'pokkt://gratifyInterstitial';
// };
// Android.closeInterstitial = closeInterstitial;
// Android.gratifyInterstitial = gratifyInterstitial;
// window.Android = Android;
// }
// injectScript();
</script>
pokktOMIDBridge.createOMIDSession = function(omidSDKVersion,
vendors, partnerName, partnerVersion) {
log.i('creating omid session...');
var sessionClient;
try {
sessionClient = OmidSessionClient[omidSDKVersion];
} catch (e) {
log.i('error creating sessionClient!');
}
if (!sessionClient) {
log.i('sessionClient not available!');
pokktNativeBridge.notifyNative('omWrapperFailed');
return;
}
adSession.registerSessionObserver(function (event) {
log.i('omid session event: ' + event.type)
if (event.type === "sessionStart") {
videoEvents.loaded({ isSkippable: true, isAutoPlay:
true, position: 'standalone' });
adEvents.impressionOccurred();
} else if (event.type === "sessionError") {
log.i('session error occured! ' + event);
} else if (event.type === "sessionFinish") {
log.i('session finished!');
}
});
function initOMIDSession(pokktOMConfig) {
log.i('initializing omid session...');
<script type="text/javascript">
window.vjsPlayer = videojs('pokkt-video-ad', {
'controls':false,
'forceSSL':true
}, function () {
log.i('videojs is ready!');
setupEventListeners(this);
window.pokktNativeBridge.notifyNative('vjsPlayerReady');
//this.play();
});
if (isTagAnURL) {
vastClientSettings.adTagUrl = vastTag;
} else {
vastResponseXML = vastTag;
vastClientSettings.adTagXML = 'requestVASTXML';
}
window.vjsPlayer.vastClient(vastClientSettings);
}
function setupEventListeners(player) {
log.i('setting up listeners on player: ' + player);
player.on('vpaid.AdVideoStart', function(e) {
log.i('window.pokktOMIDBridge start');
player.on('vpaid.AdVideoFirstQuartile', function(e) {
log.i('window.pokktOMIDBridge first quartile');
player.on('vpaid.AdVideoMidpoint', function(e) {
log.i('window.pokktOMIDBridge midpoint');
player.on('vpaid.AdVideoThirdQuartile', function(e) {
log.i('window.pokktOMIDBridge third quartile');
player.on('vpaid.AdVideoComplete', function(e) {
log.i('window.pokktOMIDBridge complete');
player.on('vpaid.AdSkipped', function(e) {
log.i('window.pokktOMIDBridge skipped');
player.on('vpaid.AdPaused', function(e) {
log.i('window.pokktOMIDBridge paused');
player.on('vpaid.AdPlaying', function(e) {
log.i('window.pokktOMIDBridge resumed');
player.on('vpaid.AdVolumeChange', function(e) {
log.i('window.pokktOMIDBridge volume changed');
window.pokktOMIDBridge.videoEvents.volumeChange(videoPlayerVolume);
});
}
function playAd() {
window.vjsPlayer.play();
}
function pauseAd() {
window.vjsPlayer.pause();
}
</script>
<script type="text/javascript">
// replace macros and call the following
// setupVJS(isTagAnURL, vastTag, moatData, moatPartnerCode);
setupVJS({{IS_TAG_A_URL}}, '{{VAST_TAG}}', {{MOAT_DATA}},
'{{MOAT_PARTNER_CODE}}');
</script>
</body>
</html>
1563811301500 com.zapak.ben10alienrace
{"pin":"247554","country":"India","countryCode":"IN","state":"Uttar
Pradesh","city":"Labkari","area":"Saharanpur"}
<script src="https://imasdk.googleapis.com/js/sdkloader/ima3.js"></script>
<script src="https://s3-ap-southeast-
1.amazonaws.com/sdkplugin/imasupport/video.min.js"></script>
<script src="https://s3-ap-southeast-
1.amazonaws.com/sdkplugin/imasupport/videojs.ads.min.js"></script>
<script src="https://s3-ap-southeast-
1.amazonaws.com/sdkplugin/imasupport/videojs.ima.js"></script>
<script type="text/javascript">
/**
* console logger
**/
(function() {
var LOG_LEVEL = {
"DEBUG" : 0,
"INFO" : 1,
"WARNING" : 2,
"ERROR" : 3
};
log.d = function(msg) {
if (logLevel <= LOG_LEVEL.DEBUG) {
console.log("[DEBUG] " + msg);
}
};
log.i = function(msg) {
if (logLevel <= LOG_LEVEL.INFO) {
console.log("[INFO] " + msg);
}
};
log.w = function(msg) {
if (logLevel <= LOG_LEVEL.WARN) {
console.log("[WARN] " + msg);
}
};
log.e = function(msg) {
console.log("[ERROR] " + msg);
};
} ());
/**
* bridge
**/
(function() {
window.pokktNativeBridge = {};
window.pokktNativeBridge.notifyNative = function(operation, params) {
log.i('notifying native of: ' + operation + ' , with params: ' + params);
this.player = videojs('pokkt-video-ad');
this.player.fluid(true);
// Remove controls from the player on iPad to stop native controls from
stealing our click
if (navigator.userAgent.match(/iPad/i) ||
navigator.userAgent.match(/Android/i)){
var contentPlayer = document.getElementById('content_video_html5_api');
if (contentPlayer != null && contentPlayer.hasAttribute('controls')) {
contentPlayer.removeAttribute('controls');
}
this.player.controls(false);
}
var options = {
debug: debugEnabled,
id: 'pokkt-video-ad',
autoPlayAdBreaks: false,
showControlsForJSAds: false,
vpaidMode: 'INSECURE',
disableCustomPlaybackForIOS10Plus: true,
adsManagerLoadedCallback: this.adsManagerLoadedCallback.bind(this)
};
this.player.ima(options);
this.player.ima.setAdBreakReadyListener(function(){
log.i('ad-break ready, attempting ad playback...');
this.player.ima.playAdBreak();
});
pokktNativeBridge.notifyNative('wrapperPrepared');
};
this.player.ima.initializeAdDisplayContainer();
if (isAdTagAUrl) {
this.player.ima.setContentWithAdTag(null, adTag, false);
} else {
this.player.ima.setContentWithAdsResponse(null, adTag, false);
}
this.player.ima.requestAds();
};
PokktIMAWrapper.prototype.adsManagerLoadedCallback = function(event) {
log.i('ads-manager loaded, registering remaining listners...');
var events = [
google.ima.AdEvent.Type.AD_BREAK_READY,
google.ima.AdEvent.Type.AD_CAN_PLAY,
google.ima.AdEvent.Type.AD_METADATA,
google.ima.AdEvent.Type.ALL_ADS_COMPLETED,
google.ima.AdEvent.Type.CLICK,
google.ima.AdEvent.Type.COMPLETE,
google.ima.AdEvent.Type.CONTENT_PAUSE_REQUESTED,
google.ima.AdEvent.Type.CONTENT_RESUME_REQUESTED,
google.ima.AdEvent.Type.DURATION_CHANGE,
google.ima.AdEvent.Type.EXPANDED_CHANGED,
google.ima.AdEvent.Type.FIRST_QUARTILE,
google.ima.AdEvent.Type.IMPRESSION,
google.ima.AdEvent.Type.INTERACTION,
google.ima.AdEvent.Type.LINEAR_CHANGED,
google.ima.AdEvent.Type.LOADED,
google.ima.AdEvent.Type.LOG,
google.ima.AdEvent.Type.MIDPOINT,
google.ima.AdEvent.Type.PAUSED,
google.ima.AdEvent.Type.RESUMED,
google.ima.AdEvent.Type.SKIPPABLE_STATE_CHANGED,
google.ima.AdEvent.Type.SKIPPED,
google.ima.AdEvent.Type.STARTED,
google.ima.AdEvent.Type.THIRD_QUARTILE,
google.ima.AdEvent.Type.USER_CLOSE,
google.ima.AdEvent.Type.VIEWABLE_IMPRESSION,
google.ima.AdEvent.Type.VOLUME_CHANGED,
google.ima.AdEvent.Type.VOLUME_MUTED,
google.ima.AdErrorEvent.Type.AD_ERROR
];
window.addEventListener('resize', this.onWindowResize.bind(this));
};
PokktIMAWrapper.prototype.onAdEvent = function(event) {
var message = 'Ad event: ' + event.type;
log.i(message);
PokktIMAWrapper.prototype.playAd = function() {
this.player.ima.playAdBreak();
};
PokktIMAWrapper.prototype.pauseAd = function() {
this.player.pause();
};
PokktIMAWrapper.prototype.onWindowResize = function() {
var adContainer = document.getElementById('pokkt-ima-adcontainer');
var videoElement = document.getElementById('pokkt-video-ad');
var adContainerWidth = adContainer.offsetWidth;
var videoHeight = videoElement.offsetHeight;
function prepareIMA(debugEnabled) {
window.imaAds = new PokktIMAWrapper(debugEnabled);
}
function playAd() {
window.imaAds.playAd();
}
function pauseAd() {
window.imaAds.pauseAd();
}
</script>
</body>
</html>
log.i = function(msg) {
if (logLevel <= LOG_LEVEL.INFO) {
console.log("[INFO] " + msg);
}
};
log.w = function(msg) {
if (logLevel <= LOG_LEVEL.WARN) {
console.log("[WARN] " + msg);
}
};
log.e = function(msg) {
console.log("[ERROR] " + msg);
};
} ());
</script>
function is_pokkt_sdk() {
return true;
}
function pokkt_on_close() {
pauseAd();
if (typeof(Android) != "undefined" && Android.closeInterstitial) {
Android.closeInterstitial();
} else {
if (window.external && window.external.notify) {
window.external.notify("closeInterstitial");
}
}
}
function pokktOnComplete() {
if (typeof(Android) != "undefined" && Android.gratifyInterstitial)
{
Android.gratifyInterstitial();
} else {
if(window && window.external && window.external.notify) {
window.external.notify("gratifyInterstitial");
}
}
}
// function injectScript() {
// var Android = {};
// function closeInterstitial() {
// setTimeout(function() {
// window.location = 'pokkt://closeInterstitial';
// }, 1000);
// };
// function gratifyInterstitial() {
// window.location = 'pokkt://gratifyInterstitial';
// };
// Android.closeInterstitial = closeInterstitial;
// Android.gratifyInterstitial = gratifyInterstitial;
// window.Android = Android;
// }
// injectScript();
</script>
var sessionClient;
try {
sessionClient = OmidSessionClient[omidSDKVersion];
} catch (e) {
log.i('error creating sessionClient!');
}
if (!sessionClient) {
log.i('sessionClient not available!');
pokktNativeBridge.notifyNative('omWrapperFailed');
return;
}
if (!resources.length) {
log.i('no verification resources found!');
pokktNativeBridge.notifyNative('omWrapperFailed');
return;
}
adSession.registerSessionObserver(function (event) {
log.i('omid session event: ' + event.type)
if (event.type === "sessionStart") {
videoEvents.loaded({ isSkippable: true, isAutoPlay:
true, position: 'standalone' });
adEvents.impressionOccurred();
} else if (event.type === "sessionError") {
log.i('session error occured! ' + event);
} else if (event.type === "sessionFinish") {
log.i('session finished!');
}
});
function initOMIDSession(pokktOMConfig) {
log.i('initializing omid session...');
<script type="text/javascript">
window.vjsPlayer = videojs('pokkt-video-ad', {
'controls':false,
'forceSSL':true
}, function () {
log.i('videojs is ready!');
setupEventListeners(this);
window.pokktNativeBridge.notifyNative('vjsPlayerReady');
//this.play();
});
if (isTagAnURL) {
vastClientSettings.adTagUrl = vastTag;
} else {
vastResponseXML = vastTag;
vastClientSettings.adTagXML = 'requestVASTXML';
}
window.vjsPlayer.vastClient(vastClientSettings);
}
function setupEventListeners(player) {
log.i('setting up listeners on player: ' + player);
player.on('vpaid.AdVideoStart', function(e) {
log.i('window.pokktOMIDBridge start');
player.on('vpaid.AdVideoFirstQuartile', function(e) {
log.i('window.pokktOMIDBridge first quartile');
player.on('vpaid.AdVideoMidpoint', function(e) {
log.i('window.pokktOMIDBridge midpoint');
player.on('vpaid.AdVideoThirdQuartile', function(e) {
log.i('window.pokktOMIDBridge third quartile');
player.on('vpaid.AdVideoComplete', function(e) {
log.i('window.pokktOMIDBridge complete');
player.on('vpaid.AdSkipped', function(e) {
log.i('window.pokktOMIDBridge skipped');
player.on('vpaid.AdPaused', function(e) {
log.i('window.pokktOMIDBridge paused');
player.on('vpaid.AdPlaying', function(e) {
log.i('window.pokktOMIDBridge resumed');
player.on('vpaid.AdVolumeChange', function(e) {
log.i('window.pokktOMIDBridge volume changed');
window.pokktOMIDBridge.videoEvents.volumeChange(videoPlayerVolume);
});
}
function playAd() {
window.vjsPlayer.play();
}
function pauseAd() {
window.vjsPlayer.pause();
}
</script>
<script type="text/javascript">
// replace macros and call the following
// setupVJS(isTagAnURL, vastTag, moatData, moatPartnerCode);
setupVJS({{IS_TAG_A_URL}}, '{{VAST_TAG}}', {{MOAT_DATA}},
'{{MOAT_PARTNER_CODE}}');
</script>
</body>
</html>
1563811303714 com.zapak.ben10alienrace executing f...
/**
* mraid functionalities
**/
(function() {
if (console.oldLog === undefined) {
console.oldLog = console.log;
console.log = function(log) {
if (console.oldLog !== undefined) {
console.oldLog(log);
}
var LOG_LEVEL = {
"DEBUG" : 0,
"INFO" : 1,
"WARNING" : 2,
"ERROR" : 3
};
log.d = function(msg) {
if (logLevel <= LOG_LEVEL.DEBUG) {
console.log("[DEBUG] " + msg);
}
};
log.i = function(msg) {
if (logLevel <= LOG_LEVEL.INFO) {
console.log("[INFO] " + msg);
}
};
log.w = function(msg) {
if (logLevel <= LOG_LEVEL.WARN) {
console.log("[WARN] " + msg);
}
};
log.e = function(msg) {
console.log("[ERROR] " + msg);
};
} ());
/**
* console logger
**/
(function() {
log.i("init mraid...");
/**
* globals
**/
var mraid = window.mraid = {};
/**
* constants
**/
var VERSION = "3.0";
/**
* states
**/
var supportedFeatures = {};
var orientationProperties = {
"allowOrientationChange" : true,
"forceOrientation" : DEVICE_ORIENTATIONS.NONE
};
var currentAppOrientation = {
"orientation" : DEVICE_ORIENTATIONS.NONE,
"locked" : false
};
var currentPosition = {
"x" : 0,
"y" : 0,
"width" : 0,
"height" : 0
};
var defaultPosition = {
"x" : 0,
"y" : 0,
"width" : 0,
"height" : 0
};
var expandProperties = {
"width" : 0,
"height" : 0,
"useCustomClose" : false,
"isModal" : true
};
var maxSize = {
"width" : 0,
"height" : 0
};
var screenSize = {
"width" : 0,
"height" : 0
};
var resizeProperties = {
"width" : 0,
"height" : 0,
"offsetX" : 0,
"offsetY" : 0,
"customClosePosition" : CUSTOM_CLOSE_POSITION.TOP_RIGHT,
"allowOffscreen" : true
};
var locationData = {
"lat" : 0.0,
"lon" : 0.0,
"type" : LOCATION_PROVIDER_TYPES.GPS,
"accuracy" : 0.0,
"lastfix" : 0,
"ipservice" : ""
};
var exposureProperties = {
"exposedPercentage" : 0,
"visibleRectangle" : {},
"occlusionRectangles" : null // not used in this version
};
//\\//\\//\\//\\//\\//\\//\\// BRIDGE \\//\\//\\//\\//\\//\\//\\//\\
bridge.setPlacementType = function(pt) {
placementType = pt;
};
currentPosition.x = x;
currentPosition.y = y;
currentPosition.width = width;
currentPosition.height = height;
var customClosePosition =
properties.hasOwnProperty("customClosePosition") ?
properties.customClosePosition : resizeProperties.customClosePosition;
log.d("customClosePosition " + customClosePosition);
resizeUtil.fitResizeViewOnScreen = function(properties) {
log.d("fitResizeViewOnScreen");
log.d("defaultPosition " + defaultPosition.x + " " + defaultPosition.y);
log.d("offset " + properties.offsetX + " " + properties.offsetY);
if (resizeUtil.isRectContained(maxRect, resizeRect)) {
log.d("no adjustment necessary");
return adjustments;
}
return adjustments;
};
this.add = function(func) {
var id = String(func);
if (!listeners[id]) {
listeners[id] = func;
this.count++;
}
};
this.remove = function(func) {
var id = String(func);
if (listeners[id]) {
listeners[id] = null;
delete listeners[id];
this.count--;
return true;
} else {
return false;
}
};
this.removeAll = function() {
for (var id in listeners) {
if (listeners.hasOwnProperty(id)) {
this.remove(listeners[id]);
}
}
};
this.broadcast = function(args) {
for (var id in listeners) {
if (listeners.hasOwnProperty(id)) {
listeners[id].apply(mraid, args);
}
}
};
this.toString = function() {
var out = [event, ':'];
for (var id in listeners) {
if (listeners.hasOwnProperty(id)) {
out.push('|', id, '|');
}
}
return out.join('');
};
};
/**
* validators
*
* The action parameter is a string which is the name of the setter function
which called this function
* (in other words, setExpandPropeties, setOrientationProperties, or
setResizeProperties).
* It serves both as the key to get the the appropriate set of validating
functions from the allValidators object
* as well as the action parameter of any error event that may be thrown.
*
* added location-data validation
**/
/**
* mraid properties
**/
mraid.supports = function(feature) {
log.i("mraid.supports: " + feature + " " + supportedFeatures[feature]);
var retval = supportedFeatures[feature];
if (typeof retval === "undefined") {
retval = false;
}
return retval;
};
mraid.getPlacementType = function() {
log.i("mraid.getPlacementType");
return placementType;
};
mraid.getOrientationProperties = function() {
log.i("mraid.getOrientationProperties");
mraid.setOrientationProperties = function(properties) {
log.i("mraid.setOrientationProperties...");
if (!validate(properties, "setOrientationProperties")) {
log.e("validation failed!");
return;
}
orientationProperties.allowOrientationChange =
newOrientationProperties.allowOrientationChange;
orientationProperties.forceOrientation =
newOrientationProperties.forceOrientation;
notifyNative("setOrientationProperties",
JSON.stringify(orientationProperties));
};
mraid.getCurrentAppOrientation = function() {
log.i("mraid.getCurrentAppOrientation");
mraid.getCurrentPosition = function() {
log.i("mraid.getCurrentPosition");
var position = {
"x": currentPosition.x,
"y": currentPosition.y,
"width": currentPosition.width,
"height": currentPosition.height
};
return position;
};
mraid.getDefaultPosition = function() {
log.i("mraid.getDefaultPosition");
var position = {
"x": defaultPosition.x,
"y": defaultPosition.y,
"width": defaultPosition.width,
"height": defaultPosition.height
};
return position;
};
mraid.getState = function() {
log.i("mraid.getState: " + state);
return state;
};
mraid.getExpandProperties = function() {
log.i("mraid.getExpandProperties");
var properties = {
"width" : expandProperties.width,
"height" : expandProperties.height,
"useCustomClose" : expandProperties.useCustomClose,
"isModal" : expandProperties.isModal
};
return properties;
};
mraid.setExpandProperties = function(properties) {
log.i("mraid.setExpandProperties");
if (!validate(properties, "setExpandProperties")) {
log.e("validation failed!");
return;
}
// In MRAID v2.0, all expanded ads by definition cover the entire screen,
// so the only property that the native side has to know about is
useCustomClose.
// (That is, the width and height properties are not needed by the native
code.)
if (expandProperties.useCustomClose !== oldUseCustomClose) {
mraid.useCustomClose(properties.useCustomClose);
}
};
mraid.getMaxSize = function() {
log.i("mraid.getMaxSize: " + maxSize.width + " x " + maxSize.height);
mraid.getScreenSize = function() {
log.i("mraid.getScreenSize: " + screenSize.width + " x " +
screenSize.height);
mraid.getResizeProperties = function() {
log.i("mraid.getResizeProperties");
var properties = {
"width" : resizeProperties.width,
"height" : resizeProperties.height,
"offsetX" : resizeProperties.offsetX,
"offsetY" : resizeProperties.offsetY,
"customClosePosition" : resizeProperties.customClosePosition,
"allowOffscreen" : resizeProperties.allowOffscreen
};
return properties;
};
mraid.setResizeProperties = function(properties) {
log.i("mraid.setResizeProperties");
isResizeReady = false;
// The properties object passed into this function must contain width,
height, offsetX, offsetY.
// The remaining two properties are optional.
var rwProps = [ "width", "height", "offsetX", "offsetY" ];
for (var i = 0; i < rwProps.length; i++) {
var propname = rwProps[i];
if (!properties.hasOwnProperty(propname)) {
var message = "required property " + propname + " is missing";
log.e(message);
broadcastEvent(EVENTS.ERROR, message, "setResizeProperties");
return;
}
}
if (!validate(properties, "setResizeProperties")) {
log.e("validation failed!");
return;
}
if (!allowOffscreen) {
if (properties.width > maxSize.width || properties.height >
maxSize.height) {
var message = "Resize width or height is greater than the maxSize
width or height!";
log.e(message);
broadcastEvent(EVENTS.ERROR, message, "setResizeProperties");
return;
}
adjustments = resizeUtil.fitResizeViewOnScreen(properties);
} else if (!resizeUtil.isCloseRegionOnScreen(properties)) {
var message = "Close event region will not appear entirely onscreen!";
log.e(message);
broadcastEvent(EVENTS.ERROR, message, "setResizeProperties");
return;
}
var params = {
"width" : resizeProperties.width,
"height" : resizeProperties.height,
"offsetX" : resizeProperties.offsetX + adjustments.x,
"offsetY" : resizeProperties.offsetY + adjustments.y,
"customClosePosition" : resizeProperties.customClosePosition,
"allowOffscreen" : resizeProperties.allowOffscreen
};
notifyNative("setResizeProperties", JSON.stringify(params));
isResizeReady = true;
};
mraid.getLocation = function() {
if (!validate(locationData, "locationData")) {
log.e("invalid location data!");
return -1;
}
var data = {
"lat" : locationData.lat,
"lon" : locationData.lon,
"type" : locationData.type,
"accuracy" : locationData.accuracy,
"lastfix" : locationData.lastfix,
"ipservice" : locationData.ipservice
};
return data;
};
/**
* mraid methods
**/
mraid.getVersion = function() {
log.i("mraid.getVersion: " + VERSION);
return VERSION;
};
if (!event || !listener) {
broadcastEvent(EVENTS.ERROR, "Both event and listener are required.",
"addEventListener");
return;
}
if (!contains(event, EVENTS)) {
broadcastEvent(EVENTS.ERROR, "Unknown MRAID event: " + event,
"addEventListener");
return;
}
if (!eventListeners[event]) {
eventListeners[event] = new EventListeners(event);
}
eventListeners[event].add(listener);
};
if (!event) {
broadcastEvent(EVENTS.ERROR, "Event is required.",
"removeEventListener");
return;
}
if (!contains(event, EVENTS)) {
broadcastEvent(EVENTS.ERROR, "Unknown MRAID event: " + event,
"removeEventListener");
return;
}
if (eventListeners[event]) {
if (!listener) {
eventListeners[event].removeAll();
} else if (!eventListeners[event].remove(listener)) {
broadcastEvent(EVENTS.ERROR, "Listener not currently registered for
event.", "removeEventListener");
}
}
mraid.open = function(url) {
log.i("mraid.open: " + url);
if (!url) {
broadcastEvent(EVENTS.ERROR, "Invalid URL: " + url, "open");
return;
}
notifyNative("open", url);
};
mraid.close = function() {
log.i("mraid.close");
notifyNative("close");
};
mraid.unload = function() {
log.i("mraid.unload");
notifyNative("unload");
};
mraid.useCustomClose = function(shouldUseCustomClose) {
log.i("mraid.useCustomClose: " + shouldUseCustomClose);
expandProperties.useCustomClose = shouldUseCustomClose;
notifyNative("useCustomClose", shouldUseCustomClose);
};
mraid.expand = function(url) {
log.i("mraid.expand: " + (url === undefined) ? "(1-part)" : url);
mraid.isViewable = function() {
log.i("mraid.isViewable");
return isViewable;
};
mraid.playVideo = function(uri) {
log.i("mraid.playVideo: " + uri);
if (!uri) {
broadcastEvent(EVENTS.ERROR, "Invalid URI: " + uri, "playVideo");
return;
}
notifyNative("playVideo", uri);
};
mraid.resize = function() {
log.i("mraid.resize");
notifyNative("resize", JSON.stringify(resizeProperties));
};
mraid.storePicture = function(uri) {
log.i("mraid.storePicture: " + uri);
if (!mraid.supports(mraid.SUPPORTED_FEATURES.STOREPICTURE)) {
broadcastEvent(EVENTS.ERROR, "storePicture is not supported",
"storePicture");
return;
}
if (!uri) {
broadcastEvent(EVENTS.ERROR, "Invalid URI: " + uri, "storePicture");
return;
}
notifyNative("storePicture", uri);
};
mraid.createCalendarEvent = function(parameters) {
log.i("mraid.createCalendarEvent");
if (!mraid.supports(mraid.SUPPORTED_FEATURES.CALENDAR)) {
broadcastEvent(EVENTS.ERROR, "createCalendarEvent is not supported",
"createCalendarEvent");
return;
}
notifyNative("createCalendarEvent", JSON.stringify(parameters));
};
/**
* event dispatchers
**/
mraid.fireErrorEvent = function(message, action) {
broadcastEvent(EVENTS.ERROR, message, action);
};
mraid.fireReadyEvent = function() {
broadcastEvent(EVENTS.READY);
};
mraid.fireSizeChangeEvent = function(width, height) {
screenSize.width = width;
screenSize.height = height;
broadcastEvent(EVENTS.SIZECHANGE, width, height);
};
mraid.fireStateChangeEvent = function(newState) {
if (state !== newState) {
state = newState;
broadcastEvent(EVENTS.STATECHANGE, state);
}
};
mraid.fireViewableChangeEvent = function(newIsViewable) {
if (isViewable !== newIsViewable) {
isViewable = newIsViewable;
broadcastEvent(EVENTS.VIEWABLECHANGE, isViewable);
}
};
mraid.fireAudioVolumeChangeEvent = function(percentage) {
if (volumePercentage !== percentage) {
volumePercentage = volumePercentage;
broadcastEvent(EVENTS.AUDIOVOLUMECHANGE, percentage);
}
};
// TODO: VPAID
/**
* pokkt extended featuers
**/
(function() {
log.i("setting up: mraid-extensions...");
/**
* pokkt specific constants
**/
var NETWORK = mraid.NETWORK = {
OFFLINE :'offline',
WIFI :'wifi',
CELL :'cell',
UNKNOWN :'unknown'
};
mraid.SUPPORTED_FEATURES.AUDIO = "audio";
mraid.SUPPORTED_FEATURES.CAMERA = "camera";
mraid.SUPPORTED_FEATURES.NETWORK = "network";
mraid.SUPPORTED_FEATURES.SHAKE = "shake";
mraid.SUPPORTED_FEATURES.TILT = "tilt";
mraid.SUPPORTED_FEATURES.HEADING = "heading";
mraid.SUPPORTED_FEATURES.ORIENTATION = "orientation";
mraid.SUPPORTED_FEATURES.MAP = "map";
mraid.EVENTS.SHAKE = "shake";
mraid.EVENTS.TILTCHANGE = "tiltChange";
mraid.EVENTS.HEADINGCHANGE = "headingChange";
mraid.EVENTS.LOCATIONCHANGE = "locationChange";
mraid.EVENTS.NETWORKCHANGE = "networkChange";
mraid.EVENTS.KEYBOARDSTATECHANGE = "keyboardStateChange";
/**
* pokkt specific states
**/
var shakeProperties = {
"interval" : 0,
"intensity" : 0
};
var tiltProperties = {
"interval" : 0,
"intensity" : 0
};
var headingProperties = {
"interval" : 0,
"intensity" : 0
};
var tiltValues = {
"x" : 0,
"y" : 0,
"z" : 0
};
var headingValue = 0;
var currentNetwork = "";
var currentKeyboardState = 0;
/**
* pokkt specific validators
**/
mraidUtils.allValidators.setShakeProperties =
mraidUtils.allValidators.setTiltProperties =
mraidUtils.allValidators.setHeadingProperties = {
"intensity":function(value) { return !isNaN(value); },
"interval":function(value) { return !isNaN(value); }
};
mraidUtils.allValidators.setTilt = {
"x":function(value) { return !isNaN(value); },
"y":function(value) { return !isNaN(value); },
"z":function(value) { return !isNaN(value); }
};
/**
* pokkt's extended properties
**/
mraid.setShakeProperties = function(properties) {
log.i("mraid.setShakeProperties: " + properties);
if (!mraidUtils.validate(properties, "setShakeProperties")) {
log.e("validation failed!");
return;
}
shakeProperties = properties;
mraidBridge.notifyNative("setShakeProperties", JSON.stringify(properties));
};
mraid.getShakeProperties = function() {
log.i("mraid.getShakeProperties");
mraid.setTiltProperties = function(properties) {
log.i("mraid.setTiltProperties: " + properties);
if (!mraidUtils.validate(properties, "setTiltProperties")) {
log.e("validation failed!");
return;
}
tiltProperties = properties;
mraidBridge.notifyNative("setTiltProperties", JSON.stringify(properties));
};
mraid.getTiltProperties = function() {
log.i("mraid.getTiltProperties");
mraid.setHeadingProperties = function(properties) {
log.i("mraid.setHeadingProperties: " + properties);
if (!mraidUtils.validate(properties, "setHeadingProperties")) {
log.e("validation failed!");
return;
}
headingProperties = properties;
mraidBridge.notifyNative("setHeadingProperties",
JSON.stringify(properties));
};
mraid.getHeadingProperties = function() {
log.i("mraid.getHeadingProperties");
mraid.getTilt = function () {
log.i("mraid.getTilt");
tiltValues = newValue;
};
mraid.getNetwork = function () {
log.i("mraid.getNetwork");
return currentNetwork;
};
mraid.getHeading = function () {
log.i("mraid.getHeading");
return headingValue;
};
mraid.getKeyboardState = function () {
log.i("mraid.getKeyboardState");
return currentKeyboardState;
}
/**
* extended methods
**/
mraid.playAudio = function(url) {
log.i("mraid.playAudio " + url);
if (!mraid.supports(mraid.SUPPORTED_FEATURES.AUDIO)) {
mraidUtils.broadcastEvent(mraid.EVENTS.ERROR, "playAudio is not
supported", "playAudio");
return;
}
mraidBridge.notifyNative("playAudio", url);
};
mraid.openCamera = function () {
log.i("mraid.openCamera");
if (!mraid.supports(mraid.SUPPORTED_FEATURES.CAMERA)) {
mraidUtils.broadcastEvent(mraid.EVENTS.ERROR, "openCamera is not
supported", "openCamera");
return;
}
mraidBridge.notifyNative("openCamera");
}
/**
* event dispatchers
**/
mraid.fireShakeEvent = function() {
log.i("mraid.fireShakeEvent");
mraidUtils.broadcastEvent(mraid.EVENTS.SHAKE);
}
mraid.fireTiltChangeEvent = function(x, y, z) {
log.i("mraid.fireTiltChangeEvent, x: " + x + " y: " + y + " z: " + z);
tiltValues.x = x;
tiltValues.y = y;
tiltValues.z = z;
mraidUtils.broadcastEvent(mraid.EVENTS.TILTCHANGE, x, y, z);
}
mraid.fireHeadingChangeEvent = function(val) {
log.i("mraid.fireHeadingChangeEvent, val: " + val);
if (headingValue != val) {
headingValue = val;
mraidUtils.broadcastEvent(mraid.EVENTS.HEADINGCHANGE, val);
}
}
mraid.fireNetworkChangeEvent = function(network) {
log.d("mraid.fireNetworkChangeEvent: " + network);
if (currentNetwork != network) {
currentNetwork = network;
mraidUtils.broadcastEvent(mraid.EVENTS.NETWORKCHANGE, network);
}
}
mraid.fireKeyboardStateChangeEvent = function(state) {
log.d("mraid.fireKeyboardStateChangeEvent: " + state);
if (currentKeyboardState !== state) {
currentKeyboardState = state;
mraidUtils.broadcastEvent(mraid.EVENTS.KEYBOARDSTATECHANGE, state);
}
}
1563811469895 com.zapak.ben10alienrace
{"pin":"247554","country":"India","countryCode":"IN","state":"Uttar
Pradesh","city":"Labkari","area":"Saharanpur"}
1563811471169 com.zapak.ben10alienrace
{"pin":"247554","country":"India","countryCode":"IN","state":"Uttar
Pradesh","city":"Labkari","area":"Saharanpur"}
1563811515862 com.zapak.ben10alienrace
{"pin":"247554","country":"India","countryCode":"IN","state":"Uttar
Pradesh","city":"Labkari","area":"Saharanpur"}
1563811517284 com.zapak.ben10alienrace
{"pin":"247554","country":"India","countryCode":"IN","state":"Uttar
Pradesh","city":"Labkari","area":"Saharanpur"}
1563811554008 com.zapak.ben10alienrace
{"pin":"247554","country":"India","countryCode":"IN","state":"Uttar
Pradesh","city":"Labkari","area":"Saharanpur"}
1563811555247 com.zapak.ben10alienrace
{"pin":"247554","country":"India","countryCode":"IN","state":"Uttar
Pradesh","city":"Labkari","area":"Saharanpur"}
1563813579640 com.zapak.ben10alienrace
{"pin":"247554","country":"India","countryCode":"IN","state":"Uttar
Pradesh","city":"Labkari","area":"Saharanpur"}
<script src="https://imasdk.googleapis.com/js/sdkloader/ima3.js"></script>
<script src="https://s3-ap-southeast-
1.amazonaws.com/sdkplugin/imasupport/video.min.js"></script>
<script src="https://s3-ap-southeast-
1.amazonaws.com/sdkplugin/imasupport/videojs.ads.min.js"></script>
<script src="https://s3-ap-southeast-
1.amazonaws.com/sdkplugin/imasupport/videojs.ima.js"></script>
<script type="text/javascript">
/**
* console logger
**/
(function() {
var LOG_LEVEL = {
"DEBUG" : 0,
"INFO" : 1,
"WARNING" : 2,
"ERROR" : 3
};
log.d = function(msg) {
if (logLevel <= LOG_LEVEL.DEBUG) {
console.log("[DEBUG] " + msg);
}
};
log.i = function(msg) {
if (logLevel <= LOG_LEVEL.INFO) {
console.log("[INFO] " + msg);
}
};
log.w = function(msg) {
if (logLevel <= LOG_LEVEL.WARN) {
console.log("[WARN] " + msg);
}
};
log.e = function(msg) {
console.log("[ERROR] " + msg);
};
} ());
/**
* bridge
**/
(function() {
window.pokktNativeBridge = {};
window.pokktNativeBridge.notifyNative = function(operation, params) {
log.i('notifying native of: ' + operation + ' , with params: ' + params);
/**
* POKKT-IMA Wrapper
**/
var PokktIMAWrapper = function(debugEnabled) {
log.i('preparing ima wrapper for pokkt...');
this.player = videojs('pokkt-video-ad');
this.player.fluid(true);
// Remove controls from the player on iPad to stop native controls from
stealing our click
if (navigator.userAgent.match(/iPad/i) ||
navigator.userAgent.match(/Android/i)){
var contentPlayer = document.getElementById('content_video_html5_api');
if (contentPlayer != null && contentPlayer.hasAttribute('controls')) {
contentPlayer.removeAttribute('controls');
}
this.player.controls(false);
}
var options = {
debug: debugEnabled,
id: 'pokkt-video-ad',
autoPlayAdBreaks: false,
showControlsForJSAds: false,
vpaidMode: 'INSECURE',
disableCustomPlaybackForIOS10Plus: true,
adsManagerLoadedCallback: this.adsManagerLoadedCallback.bind(this)
};
this.player.ima(options);
this.player.ima.setAdBreakReadyListener(function(){
log.i('ad-break ready, attempting ad playback...');
this.player.ima.playAdBreak();
});
pokktNativeBridge.notifyNative('wrapperPrepared');
};
this.player.ima.initializeAdDisplayContainer();
if (isAdTagAUrl) {
this.player.ima.setContentWithAdTag(null, adTag, false);
} else {
this.player.ima.setContentWithAdsResponse(null, adTag, false);
}
this.player.ima.requestAds();
};
PokktIMAWrapper.prototype.adsManagerLoadedCallback = function(event) {
log.i('ads-manager loaded, registering remaining listners...');
var events = [
google.ima.AdEvent.Type.AD_BREAK_READY,
google.ima.AdEvent.Type.AD_CAN_PLAY,
google.ima.AdEvent.Type.AD_METADATA,
google.ima.AdEvent.Type.ALL_ADS_COMPLETED,
google.ima.AdEvent.Type.CLICK,
google.ima.AdEvent.Type.COMPLETE,
google.ima.AdEvent.Type.CONTENT_PAUSE_REQUESTED,
google.ima.AdEvent.Type.CONTENT_RESUME_REQUESTED,
google.ima.AdEvent.Type.DURATION_CHANGE,
google.ima.AdEvent.Type.EXPANDED_CHANGED,
google.ima.AdEvent.Type.FIRST_QUARTILE,
google.ima.AdEvent.Type.IMPRESSION,
google.ima.AdEvent.Type.INTERACTION,
google.ima.AdEvent.Type.LINEAR_CHANGED,
google.ima.AdEvent.Type.LOADED,
google.ima.AdEvent.Type.LOG,
google.ima.AdEvent.Type.MIDPOINT,
google.ima.AdEvent.Type.PAUSED,
google.ima.AdEvent.Type.RESUMED,
google.ima.AdEvent.Type.SKIPPABLE_STATE_CHANGED,
google.ima.AdEvent.Type.SKIPPED,
google.ima.AdEvent.Type.STARTED,
google.ima.AdEvent.Type.THIRD_QUARTILE,
google.ima.AdEvent.Type.USER_CLOSE,
google.ima.AdEvent.Type.VIEWABLE_IMPRESSION,
google.ima.AdEvent.Type.VOLUME_CHANGED,
google.ima.AdEvent.Type.VOLUME_MUTED,
google.ima.AdErrorEvent.Type.AD_ERROR
];
window.addEventListener('resize', this.onWindowResize.bind(this));
};
PokktIMAWrapper.prototype.onAdEvent = function(event) {
var message = 'Ad event: ' + event.type;
log.i(message);
PokktIMAWrapper.prototype.playAd = function() {
this.player.ima.playAdBreak();
};
PokktIMAWrapper.prototype.pauseAd = function() {
this.player.pause();
};
PokktIMAWrapper.prototype.onWindowResize = function() {
var adContainer = document.getElementById('pokkt-ima-adcontainer');
var videoElement = document.getElementById('pokkt-video-ad');
var adContainerWidth = adContainer.offsetWidth;
var videoHeight = videoElement.offsetHeight;
function prepareIMA(debugEnabled) {
window.imaAds = new PokktIMAWrapper(debugEnabled);
}
function pauseAd() {
window.imaAds.pauseAd();
}
</script>
</body>
</html>
1564329361838 com.zapak.ben10alienrace
Duplicate:co.tinybit.supermarket.shopping.fun Video & Computer Games
1564329361895 com.zapak.ben10alienrace
Duplicate:co.romesoft.kids.shopping.supermarket Video & Computer Games
1564329361904 com.zapak.ben10alienrace
Duplicate:co.tinybit.shopping.mall.rich.girls Video & Computer Games
1564329361910 com.zapak.ben10alienrace
Duplicate:com.tgg.shoppingmallshopaholicgirls Video & Computer Games
1564329361920 com.zapak.ben10alienrace
Duplicate:com.kixolabs.supermarket.cashier.shopping Video & Computer Games
1564329361921 com.zapak.ben10alienrace
Duplicate:com.appricot2d.girls.fashion.store.cashier Video & Computer Games
1564329361922 com.zapak.ben10alienrace
Duplicate:com.gameslogicinteractive.kidssupermarketshoppingadventure Video &
Computer Games
1564329361928 com.zapak.ben10alienrace
Duplicate:com.expertinapps.supermarket.shopping.mall.girl Video & Computer Games
1564329361929 com.zapak.ben10alienrace
Duplicate:com.gsstudio.shopping.mall.toy.car.race.sim Video & Computer Games
1564329361943 com.zapak.ben10alienrace
Duplicate:com.gsstudio.shopping.mall.tourists.train.sim Video & Computer Games
log.d = function(msg) {
if (logLevel <= LOG_LEVEL.DEBUG) {
console.log("[DEBUG] " + msg);
}
};
log.i = function(msg) {
if (logLevel <= LOG_LEVEL.INFO) {
console.log("[INFO] " + msg);
}
};
log.w = function(msg) {
if (logLevel <= LOG_LEVEL.WARN) {
console.log("[WARN] " + msg);
}
};
log.e = function(msg) {
console.log("[ERROR] " + msg);
};
} ());
</script>
function is_pokkt_sdk() {
return true;
}
function pokkt_on_close() {
pauseAd();
if (typeof(Android) != "undefined" && Android.closeInterstitial) {
Android.closeInterstitial();
} else {
if (window.external && window.external.notify) {
window.external.notify("closeInterstitial");
}
}
}
function pokktOnComplete() {
if (typeof(Android) != "undefined" && Android.gratifyInterstitial)
{
Android.gratifyInterstitial();
} else {
if(window && window.external && window.external.notify) {
window.external.notify("gratifyInterstitial");
}
}
}
// function injectScript() {
// var Android = {};
// function closeInterstitial() {
// setTimeout(function() {
// window.location = 'pokkt://closeInterstitial';
// }, 1000);
// };
// function gratifyInterstitial() {
// window.location = 'pokkt://gratifyInterstitial';
// };
// Android.closeInterstitial = closeInterstitial;
// Android.gratifyInterstitial = gratifyInterstitial;
// window.Android = Android;
// }
// injectScript();
</script>
pokktOMIDBridge.createOMIDSession = function(omidSDKVersion,
vendors, partnerName, partnerVersion) {
log.i('creating omid session...');
var sessionClient;
try {
sessionClient = OmidSessionClient[omidSDKVersion];
} catch (e) {
log.i('error creating sessionClient!');
}
if (!sessionClient) {
log.i('sessionClient not available!');
pokktNativeBridge.notifyNative('omWrapperFailed');
return;
}
if (!resources.length) {
log.i('no verification resources found!');
pokktNativeBridge.notifyNative('omWrapperFailed');
return;
}
adSession.registerSessionObserver(function (event) {
log.i('omid session event: ' + event.type)
if (event.type === "sessionStart") {
videoEvents.loaded({ isSkippable: true, isAutoPlay:
true, position: 'standalone' });
adEvents.impressionOccurred();
} else if (event.type === "sessionError") {
log.i('session error occured! ' + event);
} else if (event.type === "sessionFinish") {
log.i('session finished!');
}
});
log.i('notifying omid wrapper ready...');
pokktNativeBridge.notifyNative('omWrapperReady');
};
} ());
function initOMIDSession(pokktOMConfig) {
log.i('initializing omid session...');
if (isTagAnURL) {
vastClientSettings.adTagUrl = vastTag;
} else {
vastResponseXML = vastTag;
vastClientSettings.adTagXML = 'requestVASTXML';
}
window.vjsPlayer.vastClient(vastClientSettings);
}
function setupEventListeners(player) {
log.i('setting up listeners on player: ' + player);
player.on('vpaid.AdVideoStart', function(e) {
log.i('window.pokktOMIDBridge start');
player.on('vpaid.AdVideoFirstQuartile', function(e) {
log.i('window.pokktOMIDBridge first quartile');
player.on('vpaid.AdVideoMidpoint', function(e) {
log.i('window.pokktOMIDBridge midpoint');
player.on('vpaid.AdVideoThirdQuartile', function(e) {
log.i('window.pokktOMIDBridge third quartile');
player.on('vpaid.AdVideoComplete', function(e) {
log.i('window.pokktOMIDBridge complete');
player.on('vpaid.AdSkipped', function(e) {
log.i('window.pokktOMIDBridge skipped');
player.on('vpaid.AdPaused', function(e) {
log.i('window.pokktOMIDBridge paused');
if (window.pokktOMIDBridge === undefined ||
window.pokktOMIDBridge.videoEvents === undefined) {
log.i('bridge or video-events not available');
return;
}
window.pokktOMIDBridge.videoEvents.pause();
});
player.on('vpaid.AdPlaying', function(e) {
log.i('window.pokktOMIDBridge resumed');
player.on('vpaid.AdVolumeChange', function(e) {
log.i('window.pokktOMIDBridge volume changed');
window.pokktOMIDBridge.videoEvents.volumeChange(videoPlayerVolume);
});
}
function playAd() {
window.vjsPlayer.play();
}
function pauseAd() {
window.vjsPlayer.pause();
}
</script>
<script type="text/javascript">
// replace macros and call the following
// setupVJS(isTagAnURL, vastTag, moatData, moatPartnerCode);
setupVJS({{IS_TAG_A_URL}}, '{{VAST_TAG}}', {{MOAT_DATA}},
'{{MOAT_PARTNER_CODE}}');
</script>
</body>
</html>
<script src="https://imasdk.googleapis.com/js/sdkloader/ima3.js"></script>
<script src="https://s3-ap-southeast-
1.amazonaws.com/sdkplugin/imasupport/video.min.js"></script>
<script src="https://s3-ap-southeast-
1.amazonaws.com/sdkplugin/imasupport/videojs.ads.min.js"></script>
<script src="https://s3-ap-southeast-
1.amazonaws.com/sdkplugin/imasupport/videojs.ima.js"></script>
<script type="text/javascript">
/**
* console logger
**/
(function() {
var LOG_LEVEL = {
"DEBUG" : 0,
"INFO" : 1,
"WARNING" : 2,
"ERROR" : 3
};
log.d = function(msg) {
if (logLevel <= LOG_LEVEL.DEBUG) {
console.log("[DEBUG] " + msg);
}
};
log.i = function(msg) {
if (logLevel <= LOG_LEVEL.INFO) {
console.log("[INFO] " + msg);
}
};
log.w = function(msg) {
if (logLevel <= LOG_LEVEL.WARN) {
console.log("[WARN] " + msg);
}
};
log.e = function(msg) {
console.log("[ERROR] " + msg);
};
} ());
/**
* bridge
**/
(function() {
window.pokktNativeBridge = {};
window.pokktNativeBridge.notifyNative = function(operation, params) {
log.i('notifying native of: ' + operation + ' , with params: ' + params);
/**
* POKKT-IMA Wrapper
**/
var PokktIMAWrapper = function(debugEnabled) {
log.i('preparing ima wrapper for pokkt...');
this.player = videojs('pokkt-video-ad');
this.player.fluid(true);
// Remove controls from the player on iPad to stop native controls from
stealing our click
if (navigator.userAgent.match(/iPad/i) ||
navigator.userAgent.match(/Android/i)){
var contentPlayer = document.getElementById('content_video_html5_api');
if (contentPlayer != null && contentPlayer.hasAttribute('controls')) {
contentPlayer.removeAttribute('controls');
}
this.player.controls(false);
}
var options = {
debug: debugEnabled,
id: 'pokkt-video-ad',
autoPlayAdBreaks: false,
showControlsForJSAds: false,
vpaidMode: 'INSECURE',
disableCustomPlaybackForIOS10Plus: true,
adsManagerLoadedCallback: this.adsManagerLoadedCallback.bind(this)
};
this.player.ima(options);
this.player.ima.setAdBreakReadyListener(function(){
log.i('ad-break ready, attempting ad playback...');
this.player.ima.playAdBreak();
});
pokktNativeBridge.notifyNative('wrapperPrepared');
};
if (isAdTagAUrl) {
this.player.ima.setContentWithAdTag(null, adTag, false);
} else {
this.player.ima.setContentWithAdsResponse(null, adTag, false);
}
this.player.ima.requestAds();
};
PokktIMAWrapper.prototype.adsManagerLoadedCallback = function(event) {
log.i('ads-manager loaded, registering remaining listners...');
var events = [
google.ima.AdEvent.Type.AD_BREAK_READY,
google.ima.AdEvent.Type.AD_CAN_PLAY,
google.ima.AdEvent.Type.AD_METADATA,
google.ima.AdEvent.Type.ALL_ADS_COMPLETED,
google.ima.AdEvent.Type.CLICK,
google.ima.AdEvent.Type.COMPLETE,
google.ima.AdEvent.Type.CONTENT_PAUSE_REQUESTED,
google.ima.AdEvent.Type.CONTENT_RESUME_REQUESTED,
google.ima.AdEvent.Type.DURATION_CHANGE,
google.ima.AdEvent.Type.EXPANDED_CHANGED,
google.ima.AdEvent.Type.FIRST_QUARTILE,
google.ima.AdEvent.Type.IMPRESSION,
google.ima.AdEvent.Type.INTERACTION,
google.ima.AdEvent.Type.LINEAR_CHANGED,
google.ima.AdEvent.Type.LOADED,
google.ima.AdEvent.Type.LOG,
google.ima.AdEvent.Type.MIDPOINT,
google.ima.AdEvent.Type.PAUSED,
google.ima.AdEvent.Type.RESUMED,
google.ima.AdEvent.Type.SKIPPABLE_STATE_CHANGED,
google.ima.AdEvent.Type.SKIPPED,
google.ima.AdEvent.Type.STARTED,
google.ima.AdEvent.Type.THIRD_QUARTILE,
google.ima.AdEvent.Type.USER_CLOSE,
google.ima.AdEvent.Type.VIEWABLE_IMPRESSION,
google.ima.AdEvent.Type.VOLUME_CHANGED,
google.ima.AdEvent.Type.VOLUME_MUTED,
google.ima.AdErrorEvent.Type.AD_ERROR
];
window.addEventListener('resize', this.onWindowResize.bind(this));
};
PokktIMAWrapper.prototype.onAdEvent = function(event) {
var message = 'Ad event: ' + event.type;
log.i(message);
PokktIMAWrapper.prototype.playAd = function() {
this.player.ima.playAdBreak();
};
PokktIMAWrapper.prototype.pauseAd = function() {
this.player.pause();
};
PokktIMAWrapper.prototype.onWindowResize = function() {
var adContainer = document.getElementById('pokkt-ima-adcontainer');
var videoElement = document.getElementById('pokkt-video-ad');
var adContainerWidth = adContainer.offsetWidth;
var videoHeight = videoElement.offsetHeight;
function prepareIMA(debugEnabled) {
window.imaAds = new PokktIMAWrapper(debugEnabled);
}
function playAd() {
window.imaAds.playAd();
}
function pauseAd() {
window.imaAds.pauseAd();
}
</script>
</body>
</html>
log.d = function(msg) {
if (logLevel <= LOG_LEVEL.DEBUG) {
console.log("[DEBUG] " + msg);
}
};
log.i = function(msg) {
if (logLevel <= LOG_LEVEL.INFO) {
console.log("[INFO] " + msg);
}
};
log.w = function(msg) {
if (logLevel <= LOG_LEVEL.WARN) {
console.log("[WARN] " + msg);
}
};
log.e = function(msg) {
console.log("[ERROR] " + msg);
};
} ());
</script>
function is_pokkt_sdk() {
return true;
}
function pokkt_on_close() {
pauseAd();
if (typeof(Android) != "undefined" && Android.closeInterstitial) {
Android.closeInterstitial();
} else {
if (window.external && window.external.notify) {
window.external.notify("closeInterstitial");
}
}
}
function pokktOnComplete() {
if (typeof(Android) != "undefined" && Android.gratifyInterstitial)
{
Android.gratifyInterstitial();
} else {
if(window && window.external && window.external.notify) {
window.external.notify("gratifyInterstitial");
}
}
}
// function injectScript() {
// var Android = {};
// function closeInterstitial() {
// setTimeout(function() {
// window.location = 'pokkt://closeInterstitial';
// }, 1000);
// };
// function gratifyInterstitial() {
// window.location = 'pokkt://gratifyInterstitial';
// };
// Android.closeInterstitial = closeInterstitial;
// Android.gratifyInterstitial = gratifyInterstitial;
// window.Android = Android;
// }
// injectScript();
</script>
pokktOMIDBridge.createOMIDSession = function(omidSDKVersion,
vendors, partnerName, partnerVersion) {
log.i('creating omid session...');
var sessionClient;
try {
sessionClient = OmidSessionClient[omidSDKVersion];
} catch (e) {
log.i('error creating sessionClient!');
}
if (!sessionClient) {
log.i('sessionClient not available!');
pokktNativeBridge.notifyNative('omWrapperFailed');
return;
}
if (!resources.length) {
log.i('no verification resources found!');
pokktNativeBridge.notifyNative('omWrapperFailed');
return;
}
adSession.registerSessionObserver(function (event) {
log.i('omid session event: ' + event.type)
if (event.type === "sessionStart") {
videoEvents.loaded({ isSkippable: true, isAutoPlay:
true, position: 'standalone' });
adEvents.impressionOccurred();
} else if (event.type === "sessionError") {
log.i('session error occured! ' + event);
} else if (event.type === "sessionFinish") {
log.i('session finished!');
}
});
function initOMIDSession(pokktOMConfig) {
log.i('initializing omid session...');
<script type="text/javascript">
window.vjsPlayer = videojs('pokkt-video-ad', {
'controls':false,
'forceSSL':true
}, function () {
log.i('videojs is ready!');
setupEventListeners(this);
window.pokktNativeBridge.notifyNative('vjsPlayerReady');
//this.play();
});
if (isTagAnURL) {
vastClientSettings.adTagUrl = vastTag;
} else {
vastResponseXML = vastTag;
vastClientSettings.adTagXML = 'requestVASTXML';
}
window.vjsPlayer.vastClient(vastClientSettings);
}
function setupEventListeners(player) {
log.i('setting up listeners on player: ' + player);
player.on('vpaid.AdVideoStart', function(e) {
log.i('window.pokktOMIDBridge start');
player.on('vpaid.AdVideoFirstQuartile', function(e) {
log.i('window.pokktOMIDBridge first quartile');
player.on('vpaid.AdVideoMidpoint', function(e) {
log.i('window.pokktOMIDBridge midpoint');
player.on('vpaid.AdVideoThirdQuartile', function(e) {
log.i('window.pokktOMIDBridge third quartile');
player.on('vpaid.AdSkipped', function(e) {
log.i('window.pokktOMIDBridge skipped');
player.on('vpaid.AdPaused', function(e) {
log.i('window.pokktOMIDBridge paused');
player.on('vpaid.AdPlaying', function(e) {
log.i('window.pokktOMIDBridge resumed');
player.on('vpaid.AdVolumeChange', function(e) {
log.i('window.pokktOMIDBridge volume changed');
window.pokktOMIDBridge.videoEvents.volumeChange(videoPlayerVolume);
});
}
function playAd() {
window.vjsPlayer.play();
}
function pauseAd() {
window.vjsPlayer.pause();
}
</script>
<script type="text/javascript">
// replace macros and call the following
// setupVJS(isTagAnURL, vastTag, moatData, moatPartnerCode);
setupVJS({{IS_TAG_A_URL}}, '{{VAST_TAG}}', {{MOAT_DATA}},
'{{MOAT_PARTNER_CODE}}');
</script>
</body>
</html>
1564329363556 com.zapak.ben10alienrace
Duplicate:co.tinybit.supermarket.shopping.fun Video & Computer Games
1564329363557 com.zapak.ben10alienrace
Duplicate:co.romesoft.kids.shopping.supermarket Video & Computer Games
1564329363559 com.zapak.ben10alienrace
Duplicate:co.tinybit.shopping.mall.rich.girls Video & Computer Games
1564329363560 com.zapak.ben10alienrace
Duplicate:com.tgg.shoppingmallshopaholicgirls Video & Computer Games
1564329363590 com.zapak.ben10alienrace
Duplicate:com.kixolabs.supermarket.cashier.shopping Video & Computer Games
1564329363599 com.zapak.ben10alienrace
Duplicate:com.appricot2d.girls.fashion.store.cashier Video & Computer Games
1564329363600 com.zapak.ben10alienrace
Duplicate:com.gameslogicinteractive.kidssupermarketshoppingadventure Video &
Computer Games
1564329363601 com.zapak.ben10alienrace
Duplicate:com.expertinapps.supermarket.shopping.mall.girl Video & Computer Games
1564329363602 com.zapak.ben10alienrace
Duplicate:com.gsstudio.shopping.mall.toy.car.race.sim Video & Computer Games
1564329363613 com.zapak.ben10alienrace
Duplicate:com.gsstudio.shopping.mall.tourists.train.sim Video & Computer Games
log.d = function(msg) {
if (logLevel <= LOG_LEVEL.DEBUG) {
console.log("[DEBUG] " + msg);
}
};
log.i = function(msg) {
if (logLevel <= LOG_LEVEL.INFO) {
console.log("[INFO] " + msg);
}
};
log.w = function(msg) {
if (logLevel <= LOG_LEVEL.WARN) {
console.log("[WARN] " + msg);
}
};
log.e = function(msg) {
console.log("[ERROR] " + msg);
};
} ());
/**
* bridge
**/
(function() {
window.pokktNativeBridge = {};
window.pokktNativeBridge.notifyNative = function(operation, params) {
log.i('notifying native of: ' + operation + ' , with params: ' + params);
/**
* POKKT-IMA Wrapper
**/
var PokktIMAWrapper = function(debugEnabled) {
log.i('preparing ima wrapper for pokkt...');
this.player = videojs('pokkt-video-ad');
this.player.fluid(true);
// Remove controls from the player on iPad to stop native controls from
stealing our click
if (navigator.userAgent.match(/iPad/i) ||
navigator.userAgent.match(/Android/i)){
var contentPlayer = document.getElementById('content_video_html5_api');
if (contentPlayer != null && contentPlayer.hasAttribute('controls')) {
contentPlayer.removeAttribute('controls');
}
this.player.controls(false);
}
var options = {
debug: debugEnabled,
id: 'pokkt-video-ad',
autoPlayAdBreaks: false,
showControlsForJSAds: false,
vpaidMode: 'INSECURE',
disableCustomPlaybackForIOS10Plus: true,
adsManagerLoadedCallback: this.adsManagerLoadedCallback.bind(this)
};
this.player.ima(options);
this.player.ima.setAdBreakReadyListener(function(){
log.i('ad-break ready, attempting ad playback...');
this.player.ima.playAdBreak();
});
pokktNativeBridge.notifyNative('wrapperPrepared');
};
this.player.ima.initializeAdDisplayContainer();
if (isAdTagAUrl) {
this.player.ima.setContentWithAdTag(null, adTag, false);
} else {
this.player.ima.setContentWithAdsResponse(null, adTag, false);
}
this.player.ima.requestAds();
};
PokktIMAWrapper.prototype.adsManagerLoadedCallback = function(event) {
log.i('ads-manager loaded, registering remaining listners...');
var events = [
google.ima.AdEvent.Type.AD_BREAK_READY,
google.ima.AdEvent.Type.AD_CAN_PLAY,
google.ima.AdEvent.Type.AD_METADATA,
google.ima.AdEvent.Type.ALL_ADS_COMPLETED,
google.ima.AdEvent.Type.CLICK,
google.ima.AdEvent.Type.COMPLETE,
google.ima.AdEvent.Type.CONTENT_PAUSE_REQUESTED,
google.ima.AdEvent.Type.CONTENT_RESUME_REQUESTED,
google.ima.AdEvent.Type.DURATION_CHANGE,
google.ima.AdEvent.Type.EXPANDED_CHANGED,
google.ima.AdEvent.Type.FIRST_QUARTILE,
google.ima.AdEvent.Type.IMPRESSION,
google.ima.AdEvent.Type.INTERACTION,
google.ima.AdEvent.Type.LINEAR_CHANGED,
google.ima.AdEvent.Type.LOADED,
google.ima.AdEvent.Type.LOG,
google.ima.AdEvent.Type.MIDPOINT,
google.ima.AdEvent.Type.PAUSED,
google.ima.AdEvent.Type.RESUMED,
google.ima.AdEvent.Type.SKIPPABLE_STATE_CHANGED,
google.ima.AdEvent.Type.SKIPPED,
google.ima.AdEvent.Type.STARTED,
google.ima.AdEvent.Type.THIRD_QUARTILE,
google.ima.AdEvent.Type.USER_CLOSE,
google.ima.AdEvent.Type.VIEWABLE_IMPRESSION,
google.ima.AdEvent.Type.VOLUME_CHANGED,
google.ima.AdEvent.Type.VOLUME_MUTED,
google.ima.AdErrorEvent.Type.AD_ERROR
];
window.addEventListener('resize', this.onWindowResize.bind(this));
};
PokktIMAWrapper.prototype.onAdEvent = function(event) {
var message = 'Ad event: ' + event.type;
log.i(message);
PokktIMAWrapper.prototype.playAd = function() {
this.player.ima.playAdBreak();
};
PokktIMAWrapper.prototype.pauseAd = function() {
this.player.pause();
};
PokktIMAWrapper.prototype.onWindowResize = function() {
var adContainer = document.getElementById('pokkt-ima-adcontainer');
var videoElement = document.getElementById('pokkt-video-ad');
var adContainerWidth = adContainer.offsetWidth;
var videoHeight = videoElement.offsetHeight;
function prepareIMA(debugEnabled) {
window.imaAds = new PokktIMAWrapper(debugEnabled);
}
function playAd() {
window.imaAds.playAd();
}
function pauseAd() {
window.imaAds.pauseAd();
}
</script>
</body>
</html>
log.d = function(msg) {
if (logLevel <= LOG_LEVEL.DEBUG) {
console.log("[DEBUG] " + msg);
}
};
log.i = function(msg) {
if (logLevel <= LOG_LEVEL.INFO) {
console.log("[INFO] " + msg);
}
};
log.w = function(msg) {
if (logLevel <= LOG_LEVEL.WARN) {
console.log("[WARN] " + msg);
}
};
log.e = function(msg) {
console.log("[ERROR] " + msg);
};
} ());
</script>
function is_pokkt_sdk() {
return true;
}
function pokkt_on_close() {
pauseAd();
if (typeof(Android) != "undefined" && Android.closeInterstitial) {
Android.closeInterstitial();
} else {
if (window.external && window.external.notify) {
window.external.notify("closeInterstitial");
}
}
}
function pokktOnComplete() {
if (typeof(Android) != "undefined" && Android.gratifyInterstitial)
{
Android.gratifyInterstitial();
} else {
if(window && window.external && window.external.notify) {
window.external.notify("gratifyInterstitial");
}
}
}
// function injectScript() {
// var Android = {};
// function closeInterstitial() {
// setTimeout(function() {
// window.location = 'pokkt://closeInterstitial';
// }, 1000);
// };
// function gratifyInterstitial() {
// window.location = 'pokkt://gratifyInterstitial';
// };
// Android.closeInterstitial = closeInterstitial;
// Android.gratifyInterstitial = gratifyInterstitial;
// window.Android = Android;
// }
// injectScript();
</script>
pokktOMIDBridge.createOMIDSession = function(omidSDKVersion,
vendors, partnerName, partnerVersion) {
log.i('creating omid session...');
var sessionClient;
try {
sessionClient = OmidSessionClient[omidSDKVersion];
} catch (e) {
log.i('error creating sessionClient!');
}
if (!sessionClient) {
log.i('sessionClient not available!');
pokktNativeBridge.notifyNative('omWrapperFailed');
return;
}
if (!resources.length) {
log.i('no verification resources found!');
pokktNativeBridge.notifyNative('omWrapperFailed');
return;
}
adSession.registerSessionObserver(function (event) {
log.i('omid session event: ' + event.type)
if (event.type === "sessionStart") {
videoEvents.loaded({ isSkippable: true, isAutoPlay:
true, position: 'standalone' });
adEvents.impressionOccurred();
} else if (event.type === "sessionError") {
log.i('session error occured! ' + event);
} else if (event.type === "sessionFinish") {
log.i('session finished!');
}
});
function initOMIDSession(pokktOMConfig) {
log.i('initializing omid session...');
<script type="text/javascript">
window.vjsPlayer = videojs('pokkt-video-ad', {
'controls':false,
'forceSSL':true
}, function () {
log.i('videojs is ready!');
setupEventListeners(this);
window.pokktNativeBridge.notifyNative('vjsPlayerReady');
//this.play();
});
if (isTagAnURL) {
vastClientSettings.adTagUrl = vastTag;
} else {
vastResponseXML = vastTag;
vastClientSettings.adTagXML = 'requestVASTXML';
}
window.vjsPlayer.vastClient(vastClientSettings);
}
function setupEventListeners(player) {
log.i('setting up listeners on player: ' + player);
player.on('vpaid.AdVideoStart', function(e) {
log.i('window.pokktOMIDBridge start');
if (window.pokktOMIDBridge === undefined ||
window.pokktOMIDBridge.videoEvents === undefined) {
log.i('bridge or video-events not available');
return;
}
var duration = player.duration();
var muted = player.muted() ? 0 : 1;
if (!isNaN(duration)) {
window.pokktOMIDBridge.videoEvents.start(duration, muted);
} else {
// TODO: wait until duration is available to start
}
});
player.on('vpaid.AdVideoFirstQuartile', function(e) {
log.i('window.pokktOMIDBridge first quartile');
player.on('vpaid.AdVideoMidpoint', function(e) {
log.i('window.pokktOMIDBridge midpoint');
player.on('vpaid.AdVideoThirdQuartile', function(e) {
log.i('window.pokktOMIDBridge third quartile');
player.on('vpaid.AdVideoComplete', function(e) {
log.i('window.pokktOMIDBridge complete');
player.on('vpaid.AdPaused', function(e) {
log.i('window.pokktOMIDBridge paused');
player.on('vpaid.AdPlaying', function(e) {
log.i('window.pokktOMIDBridge resumed');
player.on('vpaid.AdVolumeChange', function(e) {
log.i('window.pokktOMIDBridge volume changed');
window.pokktOMIDBridge.videoEvents.volumeChange(videoPlayerVolume);
});
}
function playAd() {
window.vjsPlayer.play();
}
function pauseAd() {
window.vjsPlayer.pause();
}
</script>
<script type="text/javascript">
// replace macros and call the following
// setupVJS(isTagAnURL, vastTag, moatData, moatPartnerCode);
setupVJS({{IS_TAG_A_URL}}, '{{VAST_TAG}}', {{MOAT_DATA}},
'{{MOAT_PARTNER_CODE}}');
</script>
</body>
</html>
/**
* mraid functionalities
**/
(function() {
if (console.oldLog === undefined) {
console.oldLog = console.log;
console.log = function(log) {
if (console.oldLog !== undefined) {
console.oldLog(log);
}
var LOG_LEVEL = {
"DEBUG" : 0,
"INFO" : 1,
"WARNING" : 2,
"ERROR" : 3
};
log.i = function(msg) {
if (logLevel <= LOG_LEVEL.INFO) {
console.log("[INFO] " + msg);
}
};
log.w = function(msg) {
if (logLevel <= LOG_LEVEL.WARN) {
console.log("[WARN] " + msg);
}
};
log.e = function(msg) {
console.log("[ERROR] " + msg);
};
} ());
/**
* console logger
**/
(function() {
log.i("init mraid...");
/**
* globals
**/
var mraid = window.mraid = {};
/**
* constants
**/
var VERSION = "3.0";
/**
* states
**/
var supportedFeatures = {};
var currentAppOrientation = {
"orientation" : DEVICE_ORIENTATIONS.NONE,
"locked" : false
};
var currentPosition = {
"x" : 0,
"y" : 0,
"width" : 0,
"height" : 0
};
var defaultPosition = {
"x" : 0,
"y" : 0,
"width" : 0,
"height" : 0
};
var expandProperties = {
"width" : 0,
"height" : 0,
"useCustomClose" : false,
"isModal" : true
};
var maxSize = {
"width" : 0,
"height" : 0
};
var screenSize = {
"width" : 0,
"height" : 0
};
var resizeProperties = {
"width" : 0,
"height" : 0,
"offsetX" : 0,
"offsetY" : 0,
"customClosePosition" : CUSTOM_CLOSE_POSITION.TOP_RIGHT,
"allowOffscreen" : true
};
var locationData = {
"lat" : 0.0,
"lon" : 0.0,
"type" : LOCATION_PROVIDER_TYPES.GPS,
"accuracy" : 0.0,
"lastfix" : 0,
"ipservice" : ""
};
var exposureProperties = {
"exposedPercentage" : 0,
"visibleRectangle" : {},
"occlusionRectangles" : null // not used in this version
};
bridge.setPlacementType = function(pt) {
placementType = pt;
};
currentPosition.x = x;
currentPosition.y = y;
currentPosition.width = width;
currentPosition.height = height;
var customClosePosition =
properties.hasOwnProperty("customClosePosition") ?
properties.customClosePosition : resizeProperties.customClosePosition;
log.d("customClosePosition " + customClosePosition);
resizeUtil.fitResizeViewOnScreen = function(properties) {
log.d("fitResizeViewOnScreen");
log.d("defaultPosition " + defaultPosition.x + " " + defaultPosition.y);
log.d("offset " + properties.offsetX + " " + properties.offsetY);
if (resizeUtil.isRectContained(maxRect, resizeRect)) {
log.d("no adjustment necessary");
return adjustments;
}
return adjustments;
};
this.add = function(func) {
var id = String(func);
if (!listeners[id]) {
listeners[id] = func;
this.count++;
}
};
this.remove = function(func) {
var id = String(func);
if (listeners[id]) {
listeners[id] = null;
delete listeners[id];
this.count--;
return true;
} else {
return false;
}
};
this.removeAll = function() {
for (var id in listeners) {
if (listeners.hasOwnProperty(id)) {
this.remove(listeners[id]);
}
}
};
this.broadcast = function(args) {
for (var id in listeners) {
if (listeners.hasOwnProperty(id)) {
listeners[id].apply(mraid, args);
}
}
};
this.toString = function() {
var out = [event, ':'];
for (var id in listeners) {
if (listeners.hasOwnProperty(id)) {
out.push('|', id, '|');
}
}
return out.join('');
};
};
/**
* validators
*
* The action parameter is a string which is the name of the setter function
which called this function
* (in other words, setExpandPropeties, setOrientationProperties, or
setResizeProperties).
* It serves both as the key to get the the appropriate set of validating
functions from the allValidators object
* as well as the action parameter of any error event that may be thrown.
*
* added location-data validation
**/
/**
* mraid properties
**/
mraid.supports = function(feature) {
log.i("mraid.supports: " + feature + " " + supportedFeatures[feature]);
var retval = supportedFeatures[feature];
if (typeof retval === "undefined") {
retval = false;
}
return retval;
};
mraid.getPlacementType = function() {
log.i("mraid.getPlacementType");
return placementType;
};
mraid.getOrientationProperties = function() {
log.i("mraid.getOrientationProperties");
mraid.setOrientationProperties = function(properties) {
log.i("mraid.setOrientationProperties...");
if (!validate(properties, "setOrientationProperties")) {
log.e("validation failed!");
return;
}
orientationProperties.allowOrientationChange =
newOrientationProperties.allowOrientationChange;
orientationProperties.forceOrientation =
newOrientationProperties.forceOrientation;
notifyNative("setOrientationProperties",
JSON.stringify(orientationProperties));
};
mraid.getCurrentAppOrientation = function() {
log.i("mraid.getCurrentAppOrientation");
var position = {
"x": currentPosition.x,
"y": currentPosition.y,
"width": currentPosition.width,
"height": currentPosition.height
};
return position;
};
mraid.getDefaultPosition = function() {
log.i("mraid.getDefaultPosition");
var position = {
"x": defaultPosition.x,
"y": defaultPosition.y,
"width": defaultPosition.width,
"height": defaultPosition.height
};
return position;
};
mraid.getState = function() {
log.i("mraid.getState: " + state);
return state;
};
mraid.getExpandProperties = function() {
log.i("mraid.getExpandProperties");
var properties = {
"width" : expandProperties.width,
"height" : expandProperties.height,
"useCustomClose" : expandProperties.useCustomClose,
"isModal" : expandProperties.isModal
};
return properties;
};
mraid.setExpandProperties = function(properties) {
log.i("mraid.setExpandProperties");
if (!validate(properties, "setExpandProperties")) {
log.e("validation failed!");
return;
}
// In MRAID v2.0, all expanded ads by definition cover the entire screen,
// so the only property that the native side has to know about is
useCustomClose.
// (That is, the width and height properties are not needed by the native
code.)
if (expandProperties.useCustomClose !== oldUseCustomClose) {
mraid.useCustomClose(properties.useCustomClose);
}
};
mraid.getMaxSize = function() {
log.i("mraid.getMaxSize: " + maxSize.width + " x " + maxSize.height);
mraid.getScreenSize = function() {
log.i("mraid.getScreenSize: " + screenSize.width + " x " +
screenSize.height);
mraid.getResizeProperties = function() {
log.i("mraid.getResizeProperties");
var properties = {
"width" : resizeProperties.width,
"height" : resizeProperties.height,
"offsetX" : resizeProperties.offsetX,
"offsetY" : resizeProperties.offsetY,
"customClosePosition" : resizeProperties.customClosePosition,
"allowOffscreen" : resizeProperties.allowOffscreen
};
return properties;
};
mraid.setResizeProperties = function(properties) {
log.i("mraid.setResizeProperties");
isResizeReady = false;
// The properties object passed into this function must contain width,
height, offsetX, offsetY.
// The remaining two properties are optional.
var rwProps = [ "width", "height", "offsetX", "offsetY" ];
for (var i = 0; i < rwProps.length; i++) {
var propname = rwProps[i];
if (!properties.hasOwnProperty(propname)) {
var message = "required property " + propname + " is missing";
log.e(message);
broadcastEvent(EVENTS.ERROR, message, "setResizeProperties");
return;
}
}
if (!validate(properties, "setResizeProperties")) {
log.e("validation failed!");
return;
}
if (!allowOffscreen) {
if (properties.width > maxSize.width || properties.height >
maxSize.height) {
var message = "Resize width or height is greater than the maxSize
width or height!";
log.e(message);
broadcastEvent(EVENTS.ERROR, message, "setResizeProperties");
return;
}
adjustments = resizeUtil.fitResizeViewOnScreen(properties);
} else if (!resizeUtil.isCloseRegionOnScreen(properties)) {
var message = "Close event region will not appear entirely onscreen!";
log.e(message);
broadcastEvent(EVENTS.ERROR, message, "setResizeProperties");
return;
}
var params = {
"width" : resizeProperties.width,
"height" : resizeProperties.height,
"offsetX" : resizeProperties.offsetX + adjustments.x,
"offsetY" : resizeProperties.offsetY + adjustments.y,
"customClosePosition" : resizeProperties.customClosePosition,
"allowOffscreen" : resizeProperties.allowOffscreen
};
notifyNative("setResizeProperties", JSON.stringify(params));
isResizeReady = true;
};
mraid.getLocation = function() {
if (!validate(locationData, "locationData")) {
log.e("invalid location data!");
return -1;
}
var data = {
"lat" : locationData.lat,
"lon" : locationData.lon,
"type" : locationData.type,
"accuracy" : locationData.accuracy,
"lastfix" : locationData.lastfix,
"ipservice" : locationData.ipservice
};
return data;
};
/**
* mraid methods
**/
mraid.getVersion = function() {
log.i("mraid.getVersion: " + VERSION);
return VERSION;
};
if (!event || !listener) {
broadcastEvent(EVENTS.ERROR, "Both event and listener are required.",
"addEventListener");
return;
}
if (!contains(event, EVENTS)) {
broadcastEvent(EVENTS.ERROR, "Unknown MRAID event: " + event,
"addEventListener");
return;
}
if (!eventListeners[event]) {
eventListeners[event] = new EventListeners(event);
}
eventListeners[event].add(listener);
};
if (!event) {
broadcastEvent(EVENTS.ERROR, "Event is required.",
"removeEventListener");
return;
}
if (!contains(event, EVENTS)) {
broadcastEvent(EVENTS.ERROR, "Unknown MRAID event: " + event,
"removeEventListener");
return;
}
if (eventListeners[event]) {
if (!listener) {
eventListeners[event].removeAll();
} else if (!eventListeners[event].remove(listener)) {
broadcastEvent(EVENTS.ERROR, "Listener not currently registered for
event.", "removeEventListener");
}
}
mraid.open = function(url) {
log.i("mraid.open: " + url);
if (!url) {
broadcastEvent(EVENTS.ERROR, "Invalid URL: " + url, "open");
return;
}
notifyNative("open", url);
};
mraid.close = function() {
log.i("mraid.close");
notifyNative("close");
};
mraid.unload = function() {
log.i("mraid.unload");
notifyNative("unload");
};
mraid.useCustomClose = function(shouldUseCustomClose) {
log.i("mraid.useCustomClose: " + shouldUseCustomClose);
expandProperties.useCustomClose = shouldUseCustomClose;
notifyNative("useCustomClose", shouldUseCustomClose);
};
mraid.expand = function(url) {
log.i("mraid.expand: " + (url === undefined) ? "(1-part)" : url);
mraid.isViewable = function() {
log.i("mraid.isViewable");
return isViewable;
};
mraid.playVideo = function(uri) {
log.i("mraid.playVideo: " + uri);
if (!uri) {
broadcastEvent(EVENTS.ERROR, "Invalid URI: " + uri, "playVideo");
return;
}
notifyNative("playVideo", uri);
};
mraid.resize = function() {
log.i("mraid.resize");
notifyNative("resize", JSON.stringify(resizeProperties));
};
mraid.storePicture = function(uri) {
log.i("mraid.storePicture: " + uri);
if (!mraid.supports(mraid.SUPPORTED_FEATURES.STOREPICTURE)) {
broadcastEvent(EVENTS.ERROR, "storePicture is not supported",
"storePicture");
return;
}
if (!uri) {
broadcastEvent(EVENTS.ERROR, "Invalid URI: " + uri, "storePicture");
return;
}
notifyNative("storePicture", uri);
};
mraid.createCalendarEvent = function(parameters) {
log.i("mraid.createCalendarEvent");
if (!mraid.supports(mraid.SUPPORTED_FEATURES.CALENDAR)) {
broadcastEvent(EVENTS.ERROR, "createCalendarEvent is not supported",
"createCalendarEvent");
return;
}
notifyNative("createCalendarEvent", JSON.stringify(parameters));
};
/**
* event dispatchers
**/
mraid.fireErrorEvent = function(message, action) {
broadcastEvent(EVENTS.ERROR, message, action);
};
mraid.fireReadyEvent = function() {
broadcastEvent(EVENTS.READY);
};
mraid.fireStateChangeEvent = function(newState) {
if (state !== newState) {
state = newState;
broadcastEvent(EVENTS.STATECHANGE, state);
}
};
mraid.fireViewableChangeEvent = function(newIsViewable) {
if (isViewable !== newIsViewable) {
isViewable = newIsViewable;
broadcastEvent(EVENTS.VIEWABLECHANGE, isViewable);
}
};
mraid.fireAudioVolumeChangeEvent = function(percentage) {
if (volumePercentage !== percentage) {
volumePercentage = volumePercentage;
broadcastEvent(EVENTS.AUDIOVOLUMECHANGE, percentage);
}
};
// TODO: VPAID
/**
* pokkt extended featuers
**/
(function() {
log.i("setting up: mraid-extensions...");
/**
* pokkt specific constants
**/
var NETWORK = mraid.NETWORK = {
OFFLINE :'offline',
WIFI :'wifi',
CELL :'cell',
UNKNOWN :'unknown'
};
mraid.SUPPORTED_FEATURES.AUDIO = "audio";
mraid.SUPPORTED_FEATURES.CAMERA = "camera";
mraid.SUPPORTED_FEATURES.NETWORK = "network";
mraid.SUPPORTED_FEATURES.SHAKE = "shake";
mraid.SUPPORTED_FEATURES.TILT = "tilt";
mraid.SUPPORTED_FEATURES.HEADING = "heading";
mraid.SUPPORTED_FEATURES.ORIENTATION = "orientation";
mraid.SUPPORTED_FEATURES.MAP = "map";
mraid.EVENTS.SHAKE = "shake";
mraid.EVENTS.TILTCHANGE = "tiltChange";
mraid.EVENTS.HEADINGCHANGE = "headingChange";
mraid.EVENTS.LOCATIONCHANGE = "locationChange";
mraid.EVENTS.NETWORKCHANGE = "networkChange";
mraid.EVENTS.KEYBOARDSTATECHANGE = "keyboardStateChange";
/**
* pokkt specific states
**/
var shakeProperties = {
"interval" : 0,
"intensity" : 0
};
var tiltProperties = {
"interval" : 0,
"intensity" : 0
};
var headingProperties = {
"interval" : 0,
"intensity" : 0
};
var tiltValues = {
"x" : 0,
"y" : 0,
"z" : 0
};
var headingValue = 0;
var currentNetwork = "";
var currentKeyboardState = 0;
/**
* pokkt specific validators
**/
mraidUtils.allValidators.setShakeProperties =
mraidUtils.allValidators.setTiltProperties =
mraidUtils.allValidators.setHeadingProperties = {
"intensity":function(value) { return !isNaN(value); },
"interval":function(value) { return !isNaN(value); }
};
mraidUtils.allValidators.setTilt = {
"x":function(value) { return !isNaN(value); },
"y":function(value) { return !isNaN(value); },
"z":function(value) { return !isNaN(value); }
};
/**
* pokkt's extended properties
**/
mraid.setShakeProperties = function(properties) {
log.i("mraid.setShakeProperties: " + properties);
if (!mraidUtils.validate(properties, "setShakeProperties")) {
log.e("validation failed!");
return;
}
shakeProperties = properties;
mraidBridge.notifyNative("setShakeProperties", JSON.stringify(properties));
};
mraid.getShakeProperties = function() {
log.i("mraid.getShakeProperties");
mraid.setTiltProperties = function(properties) {
log.i("mraid.setTiltProperties: " + properties);
if (!mraidUtils.validate(properties, "setTiltProperties")) {
log.e("validation failed!");
return;
}
tiltProperties = properties;
mraidBridge.notifyNative("setTiltProperties", JSON.stringify(properties));
};
mraid.getTiltProperties = function() {
log.i("mraid.getTiltProperties");
mraid.setHeadingProperties = function(properties) {
log.i("mraid.setHeadingProperties: " + properties);
if (!mraidUtils.validate(properties, "setHeadingProperties")) {
log.e("validation failed!");
return;
}
headingProperties = properties;
mraidBridge.notifyNative("setHeadingProperties",
JSON.stringify(properties));
};
mraid.getHeadingProperties = function() {
log.i("mraid.getHeadingProperties");
mraid.getTilt = function () {
log.i("mraid.getTilt");
tiltValues = newValue;
};
mraid.getNetwork = function () {
log.i("mraid.getNetwork");
return currentNetwork;
};
mraid.getHeading = function () {
log.i("mraid.getHeading");
return headingValue;
};
mraid.setHeading = function (newValue) {
log.i("mraid.setHeading: " + newValue);
headingValue = newValue;
};
mraid.getKeyboardState = function () {
log.i("mraid.getKeyboardState");
return currentKeyboardState;
}
/**
* extended methods
**/
mraid.playAudio = function(url) {
log.i("mraid.playAudio " + url);
if (!mraid.supports(mraid.SUPPORTED_FEATURES.AUDIO)) {
mraidUtils.broadcastEvent(mraid.EVENTS.ERROR, "playAudio is not
supported", "playAudio");
return;
}
mraidBridge.notifyNative("playAudio", url);
};
mraid.openCamera = function () {
log.i("mraid.openCamera");
if (!mraid.supports(mraid.SUPPORTED_FEATURES.CAMERA)) {
mraidUtils.broadcastEvent(mraid.EVENTS.ERROR, "openCamera is not
supported", "openCamera");
return;
}
mraidBridge.notifyNative("openCamera");
}
/**
* event dispatchers
**/
mraid.fireShakeEvent = function() {
log.i("mraid.fireShakeEvent");
mraidUtils.broadcastEvent(mraid.EVENTS.SHAKE);
}
mraid.fireTiltChangeEvent = function(x, y, z) {
log.i("mraid.fireTiltChangeEvent, x: " + x + " y: " + y + " z: " + z);
tiltValues.x = x;
tiltValues.y = y;
tiltValues.z = z;
mraidUtils.broadcastEvent(mraid.EVENTS.TILTCHANGE, x, y, z);
}
mraid.fireLocationChangeEvent = function(lat, lon, type, accuracy, lastfix,
ipservice) {
log.i("mraid.fireLocationChangeEvent, lat: " + lat + " lon: " + lon + "
type: " + type +
" accuracy: " + accuracy + " lastfix: " + lastfix +
" ipservice: " + ipservice);
mraid.fireHeadingChangeEvent = function(val) {
log.i("mraid.fireHeadingChangeEvent, val: " + val);
if (headingValue != val) {
headingValue = val;
mraidUtils.broadcastEvent(mraid.EVENTS.HEADINGCHANGE, val);
}
}
mraid.fireNetworkChangeEvent = function(network) {
log.d("mraid.fireNetworkChangeEvent: " + network);
if (currentNetwork != network) {
currentNetwork = network;
mraidUtils.broadcastEvent(mraid.EVENTS.NETWORKCHANGE, network);
}
}
mraid.fireKeyboardStateChangeEvent = function(state) {
log.d("mraid.fireKeyboardStateChangeEvent: " + state);
if (currentKeyboardState !== state) {
currentKeyboardState = state;
mraidUtils.broadcastEvent(mraid.EVENTS.KEYBOARDSTATECHANGE, state);
}
}
1564329477785 com.zapak.ben10alienrace
{"pin":"247554","country":"India","countryCode":"IN","state":"Uttar
Pradesh","city":"Labkari","area":"Saharanpur"}
1564329478931 com.zapak.ben10alienrace
{"pin":"247554","country":"India","countryCode":"IN","state":"Uttar
Pradesh","city":"Labkari","area":"Saharanpur"}
1564329479523 com.zapak.ben10alienrace
{"pin":"247554","country":"India","countryCode":"IN","state":"Uttar
Pradesh","city":"Labkari","area":"Saharanpur"}
1564329480124 com.zapak.ben10alienrace
{"pin":"247554","country":"India","countryCode":"IN","state":"Uttar
Pradesh","city":"Labkari","area":"Saharanpur"}
1564329480810 com.zapak.ben10alienrace
{"pin":"247554","country":"India","countryCode":"IN","state":"Uttar
Pradesh","city":"Labkari","area":"Saharanpur"}