小程序
小游戏
企业微信
微信支付
扫描小程序码分享
广告观看中途关闭在onClose里监听到的isEnd为true
2 个回答
加粗
标红
插入代码
插入链接
插入图片
上传视频
你这不是偶发,是必现:比如先点击播放广告,没播放完就关了,再点击播放广告,再关掉,多试几次,马上就复现了
你好,麻烦通过点击下方“反馈信息”按钮,提供出现问题的。
这个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; });
关注后,可在微信内接收相应的重要提醒。
请使用微信扫描二维码关注 “微信开放社区” 公众号
你这不是偶发,是必现:比如先点击播放广告,没播放完就关了,再点击播放广告,再关掉,多试几次,马上就复现了
原因:在onClose中,需要把之前的监听取消掉:RewardedVideoAd.offClose(function callback)
这个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; });