123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354 |
- "use strict";
- (function() {
- var AdSDK = window.AdSDK = {
- bannerAds: {},
- interstitialAds: {},
- videoAds: {},
- init: function() {
- var self = this;
- GameSDK.registerCallback("ad_banner_onLoad", function(param) {
- var banner = self.bannerAds[param.adId];
- if (banner && banner.onLoad) {
- banner.onLoad(param);
- }
- });
- GameSDK.registerCallback("ad_banner_onError", function(param) {
- var banner = self.bannerAds[param.adId];
- if (banner && banner.onError) {
- banner.onError(param);
- }
- });
- GameSDK.registerCallback("ad_banner_onResize", function(param) {
- var banner = self.bannerAds[param.adId];
- if (banner && banner.onResize) {
- banner.onResize(param);
- }
- });
- GameSDK.registerCallback("ad_interstitial_onLoad", function(param) {
- var interstitialAd = self.interstitialAds[param.adId];
- if (interstitialAd && interstitialAd.onLoad) {
- interstitialAd.onLoad(param);
- }
- });
- GameSDK.registerCallback("ad_interstitial_onError", function(param) {
- var interstitialAd = self.interstitialAds[param.adId];
- if (interstitialAd && interstitialAd.onError) {
- interstitialAd.onError(param);
- }
- });
- GameSDK.registerCallback("ad_interstitial_onResize", function(param) {
- var interstitialAd = self.interstitialAds[param.adId];
- if (interstitialAd && interstitialAd.onResize) {
- interstitialAd.onResize(param);
- }
- });
- GameSDK.registerCallback("ad_rewardedVideo_onLoad", function(param) {
- var videoAd = self.videoAds[param.adId];
- if (videoAd && videoAd.onLoad) {
- videoAd.onLoad(param);
- }
- });
- GameSDK.registerCallback("ad_rewardedVideo_onError", function(param) {
- var videoAd = self.videoAds[param.adId];
- if (videoAd && videoAd.onError) {
- videoAd.onError(param);
- }
- });
- GameSDK.registerCallback("ad_rewardedVideo_onClose", function(param) {
- var videoAd = self.videoAds[param.adId];
- if (videoAd && videoAd.onClose) {
- videoAd.onClose(param);
- }
- });
- GameSDK.registerCallback("ad_onShow", function(param) {
- if (param.type == 1) {
- var banner = self.bannerAds[param.adId];
- if (banner && banner.mHandler) {
- banner.mHandler(param.success);
- }
- } else if (param.type == 2) {
- var interstitialAd = self.interstitialAds[param.adId];
- if (interstitialAd && interstitialAd.mHandler) {
- interstitialAd.mHandler(param.success);
- }
- } else if (param.type == 3) {
- var videoAd = self.videoAds[param.adId];
- if (videoAd && videoAd.mHandler) {
- videoAd.mHandler(param.success);
- }
- }
- });
- },
- // 创建Banner广告
- // 参数
- // adId: string 广告序号ID
- // bannerAdId: string Banner广告ID
- // position: int 广告位置 1 屏幕顶部 2 屏幕底部 3屏幕中间
- createBannerAd: function(adId, bannerAdId, position) {
- var self = this;
- var bannerAd = {
- "adId": adId
- };
- var param = {
- "adId": adId,
- "bannerAdId": bannerAdId,
- "position": position,
- };
- GameSDK.callNative("ad_banner_create", param);
- //显示 banner 广告
- bannerAd.show = function() {
- var param = {
- "adId": adId
- };
- GameSDK.callNative("ad_banner_show", param);
- var promise = new Promise(function(resolve, reject) {
- var handler = function(params) {
- if (params == 0) {
- resolve();
- } else {
- reject();
- }
- };
- self.bannerAds[adId].mHandler = handler;
- });
- return promise;
- };
- //隐藏 banner 广告
- bannerAd.hide = function() {
- var param = {
- "adId": adId
- };
- GameSDK.callNative("ad_banner_hide", param);
- };
- // 销毁 banner 广告
- bannerAd.destroy = function() {
- var param = {
- "adId": adId
- };
- self.bannerAds[adId] = null;
- GameSDK.callNative("ad_banner_destroy", param);
- };
- //监听 banner 广告加载事件
- bannerAd.onLoad = function(cb) {
- this.onLoad = cb;
- };
- //监听 banner 广告错误事件
- bannerAd.onError = function(cb) {
- this.onError = cb;
- };
- //监听 banner 广告尺寸变化事件 未实现
- bannerAd.onResize = function(cb) {
- this.onResize = cb;
- };
- //取消监听 banner 广告加载事件
- bannerAd.offLoad = function(cb) {
- if (this.onLoad == cb) {
- this.onLoad = null;
- }
- };
- //取消监听 banner 广告错误事件
- bannerAd.offError = function(cb) {
- if (this.onError == cb) {
- this.onError = null;
- }
- };
- //取消监听 banner 广告尺寸变化事件
- bannerAd.offResize = function(cb) {
- if (this.onResize == cb) {
- this.onResize = null;
- }
- };
- self.bannerAds[adId] = bannerAd;
- return bannerAd;
- },
- // 创建插屏广告
- // 参数
- // adId: string 广告序号ID
- // interstitialAdId: string 插屏广告ID
- // style: int 广告类型 1 全屏 2 半屏
- createInterstitialAd: function(adId, interstitialAdId, style) {
- var self = this;
- var interstitialAd = {
- "adId": adId
- };
- var param = {
- "adId": adId,
- "interstitialAdId": interstitialAdId,
- "style": style,
- };
- GameSDK.callNative("ad_interstitial_create", param);
- //显示 插屏 广告
- interstitialAd.show = function() {
- var param = {
- "adId": adId
- };
- GameSDK.callNative("ad_interstitial_show", param);
- var promise = new Promise(function(resolve, reject) {
- var handler = function(params) {
- if (params == 0) {
- resolve();
- } else {
- reject();
- }
- };
- self.interstitialAds[adId].mHandler = handler;
- });
- return promise;
- };
- // 隐藏 插屏 广告
- interstitialAd.hide = function() {
- var param = {
- "adId": adId
- };
- GameSDK.callNative("ad_interstitial_hide", param);
- };
- // 销毁 插屏 广告
- interstitialAd.destroy = function() {
- var param = {
- "adId": adId
- };
- self.interstitialAds[adId] = null;
- GameSDK.callNative("ad_interstitial_destroy", param);
- };
- // 监听 插屏 广告加载事件
- interstitialAd.onLoad = function(cb) {
- this.onLoad = cb;
- };
- // 监听 插屏 广告错误事件
- interstitialAd.onError = function(cb) {
- this.onError = cb;
- };
- // 监听 插屏 广告尺寸变化事件
- interstitialAd.onResize = function(cb) {
- this.onResize = cb;
- };
- //取消监听 插屏 广告加载事件
- interstitialAd.offLoad = function(cb) {
- if (this.onLoad == cb) {
- this.onLoad = null;
- }
- };
- //取消监听 插屏 广告错误事件
- interstitialAd.offError = function(cb) {
- if (this.onError == cb) {
- this.onError = null;
- }
- };
- //取消监听 插屏 广告尺寸变化事件
- interstitialAd.offResize = function(cb) {
- if (this.onResize == cb) {
- this.onResize = null;
- }
- };
- self.interstitialAds[adId] = interstitialAd;
- return interstitialAd;
- },
- // 创建激励视频广告
- // 参数
- // videoAdId: string 视频广告ID
- // screenOrientation: int 广告类型 1 横屏 2 竖屏
- createRewardedVideoAd: function(adId, videoAdId, screenOrientation) {
- var self = this;
- var rewardedVideoAd = {
- "adId": adId
- };
- var param = {
- "adId": adId,
- "videoAdId": videoAdId,
- "screenOrientation": screenOrientation,
- };
- GameSDK.callNative("ad_rewardedVideo_create", param);
- //显示激励视频广告
- rewardedVideoAd.show = function() {
- var param = {
- "adId": adId
- };
- GameSDK.callNative("ad_rewardedVideo_show", param);
- var promise = new Promise(function(resolve, reject) {
- var handler = function(params) {
- if (params == 0) {
- resolve();
- } else {
- reject();
- }
- };
- self.videoAds[adId].mHandler = handler;
- });
- return promise;
- };
- // 隐藏激励视频广告
- rewardedVideoAd.hide = function() {
- var param = {
- "adId": adId
- };
- GameSDK.callNative("ad_rewardedVideo_hide", param);
- };
- // 销毁激励视频广告
- rewardedVideoAd.destroy = function() {
- var param = {
- "adId": adId
- };
- self.videoAds[adId] = null;
- GameSDK.callNative("ad_rewardedVideo_destroy", param);
- };
- //监听激励视频广告加载事件
- rewardedVideoAd.onLoad = function(cb) {
- this.onLoad = cb;
- };
- //监听激励视频错误事件
- rewardedVideoAd.onError = function(cb) {
- this.onError = cb;
- };
- //监听用户点击 关闭广告 按钮的事件
- rewardedVideoAd.onClose = function(cb) {
- this.onClose = cb;
- };
- //监听激励视频广告加载事件
- rewardedVideoAd.offLoad = function(cb) {
- if (this.onLoad == cb) {
- this.onLoad = null;
- }
- };
- //监听激励视频错误事件
- rewardedVideoAd.offError = function(cb) {
- if (this.onError == cb) {
- this.onError = null;
- }
- };
- //监听用户点击 关闭广告 按钮的事件
- rewardedVideoAd.offClose = function(cb) {
- if (this.onClose == cb) {
- this.onClose = null;
- }
- };
- self.videoAds[adId] = rewardedVideoAd;
- return rewardedVideoAd;
- }
- };
- })()
|