- 当前 Bug 的表现(可附上截图)
- 预期表现
应该正常,不报错
- 复现路径
必现
- 提供一个最简复现 Demo
this.videoAd.load()
.then(() => this.videoAd.show())
.catch(err => {
console.log(err.errMsg)
this.videoAd.load()
.then(() => this.videoAd.show())
})
this.videoAd.onClose(res => {
// 用户点击了【关闭广告】按钮
// 小于 2.1.0 的基础库版本,res 是一个 undefined
if (res && res.isEnded || res === undefined) {
// 正常播放结束,可以下发游戏奖励
console.log("正常播放结束,可以下发游戏奖励")
this.gameinfo.resetLifeNumber()
this.gameinfo.resetView(ctx)
} else {
// 播放中途退出,不下发游戏奖励
console.log("播放中途退出,不下发游戏奖励")
}
})
this.videoAd.onError(err => {
console.log(err)
})
我说说我这边的规避方法,官方的激励视频分为三个部分,定义变量、初始化视频、显示视频,三块代码。如果按照官方建议,那么当在父子页面都存在激励视频时,必然会出现问题,会导致子页面无法正常加载并且返回父页面后父页面也无法正常加载。我采用的规避方法,其实也非常简单,就是将:初始化视频和显示视频的代码,全部放在显示代码逻辑里面,不要拆开,不过这样用户体验上稍微差一点点,毕竟初始化正常要1-2秒,好在这个规避后问题不再存在。
问题我已经自己解决,说明下解决办法:
(1)初始化:
this.videoAd = wx.createRewardedVideoAd({
adUnitId: ''
})
this.videoAd.onError(err => {
console.log(err)
})
(2)获取:
this.videoAd.load()
.then(() => this.videoAd.show())
.catch(err => {
console.log(err.errMsg)
this.videoAd.load()
.then(() => this.videoAd.show())
})
this.videoAd.onClose(res => {
// 用户点击了【关闭广告】按钮
// 小于 2.1.0 的基础库版本,res 是一个 undefined
if (res && res.isEnded || res === undefined) {
// 正常播放结束,可以下发游戏奖励
console.log("正常播放结束,可以下发游戏奖励")
} else {
// 播放中途退出,不下发游戏奖励
console.log("播放中途退出,不下发游戏奖励")
}
})
说明:
之前把onError放在了“(2)获取”里面执行,会报这个错误
意思是设置了onError函数还有这个提示?
对!
使用的是哪个版本的开发工具呢?
麻烦给个代码片段看看(https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html)
https://developers.weixin.qq.com/s/hGa6grmH739p
没有复现该问题哦,这个问题是必现的吗?