收藏
回答

【偶发】广告观看中途点关闭没有弹没看完无法获取奖励的弹窗,并且isEnd为true

框架类型 问题类型 API/组件名称 终端类型 微信版本 基础库版本
小游戏 Bug 广告 微信安卓客户端 7.0.18 2.12.2
 广告观看中途关闭在onClose里监听到的isEnd为true
回答关注问题邀请回答
收藏

2 个回答

  • 谢春(Gene)
    谢春(Gene)
    2020-09-08

    你这不是偶发,是必现:比如先点击播放广告,没播放完就关了,再点击播放广告,再关掉,多试几次,马上就复现了

    原因:在onClose中,需要把之前的监听取消掉:RewardedVideoAd.offClose(function callback)


    2020-09-08
    有用
    回复
  • 流浪的流星
    流浪的流星
    2020-09-07

    这个bug不是必现,暂时也没有找到复现的规律

    代码如下

    let video = wx.createRewardedVideoAd({
    	adUnitId: id
    });
    this._video = video;
    video.onError((err) => {
    	this.onError(err);
    });
    video.onLoad(() => {
    	this._loaded = true;
    	this._reTry = RETRY_TIMES;
    });
    video.onClose((res) => {
    	// 用户点击了【关闭广告】按钮
    	// 小于 2.1.0 的基础库版本,res 是一个 undefined
    	if ((res && res.isEnded) || res === undefined) {
    		// 正常播放结束,可以下发游戏奖励
    		g.log("正常关闭广告了");
    		common.VedioTrackerEvent.send(this._openType, common.VedioTrackerType.SUCCESS);
    		AchievementModule02seeAdMsg.execute(g.db.dinerTB.activeDiner.dinerid);
    		if (this._fun) {
    			this._fun();
    		}
    	} else {
    		// 播放中途退出,不下发游戏奖励
    		g.warn("播放中途关闭广告了");
    		ui.g_tipMgr.showTips('没有看完广告,无法获得奖励');
    	}
    	this._fun = null;
    	this._loaded = false;
    });
    
    2020-09-07
    有用
    回复
登录 后发表内容
问题标签