微信小游戏视频激励广告RewardedVideoAd.onClose(function callback) 接口,第一次回调没问题,但是从第二次起,会不断叠加回调。也就是第二次调用的时候,除了执行本次回调的方法,还会把第一次回调的方法也执行一次。疑似把每次回调都用队列保存了。这个问题很蛋疼。搞了半天,最终在网上找到了答案。
每次会掉漆,用offClose接口清除上次的回调。
this.videoAd.onClose(res => {
if(!this.videoAd) return
this.videoAd.offClose()
// 用户点击了【关闭广告】按钮
// 小于 2.1.0 的基础库版本,res 是一个 undefined
if (res && res.isEnded || res === undefined) {
// 正常播放结束,可以下发游戏奖励
}
else {
// 播放中途退出,不下发游戏奖励
}
})