| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162 |
- window.AD = {};
- //激励视频广告位id
- var myVideoAdUnitId = [
- 'adunit-443ba9a35779ba97',//视频激励广告5,每日签到调用
- 'adunit-96a5ca68065cc57a',//视频激励广告4,轮盘抽奖处调用
- 'adunit-4f20955a953757b6',//视频激励广告3,右上角弹出ui调用
- 'adunit-3031ded224c6f52a',//视频激励广告2,解锁每日建筑调用
- 'adunit-0519ee68bb555a47' //视频激励广告1,登录奖励调用
- ];
- //banner 广告位id
- var myBannerUnitId = [
- 'adunit-07f048ad868015e7',//流量主6
- 'adunit-c20c6aae39e7f61d',//流量主5
- 'adunit-9e3aca5308b5525d',//流量主4
- 'adunit-c2d33a6b65fbec56',//流量主3
- 'adunit-b1ffc155a559f526',//流量主2
- 'adunit-be390b99cb0f3895',//流量主1
- ];
- var rewardedVideoAdTemp, bannerAd;
- //播放视频广告
- AD.playVideoAd = function playVideoAd(callback) {
- if (typeof wx == 'undefined') {
- callback({ isPlay: false, data: 'wx == undefined' });
- return;
- }
- if (!rewardedVideoAdTemp) {
- callback({ isPlay: false, data: 'rewardedVideoAd == undefined' });
- return;
- }
- //拉取失败,重新拉取
- rewardedVideoAdTemp.show()
- .catch(err => {
- rewardedVideoAdTemp.load()
- .then(() => rewardedVideoAdTemp.show())
- })
- rewardedVideoAdTemp.onClose(res => {
- // 用户点击了【关闭广告】按钮
- // 小于 2.1.0 的基础库版本,res 是一个 undefined
- if (res && res.isEnded || res === undefined) {
- // 正常播放结束,可以下发游戏奖励
- console.log('正常播放结束,可以下发游戏奖励.');
- callback({ isPlay: true, data: 'play end' });
- } else {
- // 播放中途退出,不下发游戏奖励
- console.log('播放中途退出,不下发游戏奖励.');
- callback({ isPlay: false, data: 'play exit' });
- }
- //取消对应的监听
- rewardedVideoAdTemp.offClose();
- rewardedVideoAdTemp.offError();
- })
- }
- //预加载视频广告,返回指定对象
- //调用名字,广告单元下标,函数回调绑定
- AD.loadVideoAdFromIndex = function loadVideoAdFromIndex(name, index, callback) {
- if (typeof wx == 'undefined') {
- callback({ isPlay: false, data: 'wx == undefined' });
- return;
- }
- let currentAd = myVideoAdUnitId;
- let currentId = currentAd[index];
- console.log('调用名字:', name, '==myVideoAdUnitId:', currentId);
- rewardedVideoAdTemp = wx.createRewardedVideoAd({ adUnitId: currentId })
- rewardedVideoAdTemp.onLoad(() => {
- // console.log('激励视频 广告加载成功');
- callback({ isPlay: false, data: name + '加载广告成功' });
- rewardedVideoAdTemp.offLoad();
- rewardedVideoAdTemp.offError();
- })
- //返回code参见此链接:
- //https://developers.weixin.qq.com/minigame/dev/api/RewardedVideoAd.onError.html
- rewardedVideoAdTemp.onError(err => {
- console.log(err);
- callback({ isPlay: false, data: err });
- if (rewardedVideoAdTemp == null) return;
- rewardedVideoAdTemp.offError();
- })
- }
- //显示地图广告位
- AD.playAd = function playAd(callback, callResize, callbackError) {
- if (typeof wx == 'undefined') {
- // return false;
- callback({ isPlay: false, data: 'wx == undefined' });
- return;
- }
- //如果存在广告实例,删除
- if (bannerAd)
- bannerAd.destroy();
- let currentAd = myBannerUnitId;
- let currentId = currentAd[Math.floor(Math.random() * currentAd.length)];
- console.log('myBannerUnitId:', currentId);
- let sysHeight = wx.getSystemInfoSync().windowHeight;
- let sysWidth = wx.getSystemInfoSync().windowWidth;
- //缩放到
- let left = sysWidth * 0.2 * 0.5;
- let widthZoom = sysWidth * 0.8;
- bannerAd = wx.createBannerAd({
- adUnitId: currentId,
- style: {
- left: left,
- top: sysHeight - 120,
- width: widthZoom,
- }
- });
- bannerAd.onResize(res => {
- // console.log(res, res.width, res.height)
- // console.log(bannerAd, bannerAd.style.realWidth, bannerAd.style.realHeight)
- bannerAd.style.top = sysHeight - bannerAd.style.realHeight - 10;
- callResize(res);
- });
- // bannerAd.style.width = widthZoom;
- bannerAd.show().then(() => {
- // console.log('banner 广告显示');
- callback({ isPlay: true, height: bannerAd.style.realHeight, data: 'play sucess' });
- });
- bannerAd.onError(err => {
- console.log(err);
- callbackError(err);
- })
- }
- AD.closeAd = function closeAd() {
- if (typeof wx == 'undefined') {
- // return false;
- return;
- }
- // if (bannerAd)
- // bannerAd.hide();
- if (bannerAd) {
- bannerAd.hide();
- bannerAd.destroy();
- }
- }
|