激励视频广告onClose多次回调问题解决办法
多次播放激励视频广告要先卸载之前的监听事件,否则回造成多次回调,广告offClose的Demo太简单,开发中浪费了时间,发出来让大家少走弯路
let videoAd = wx.createRewardedVideoAd({
adUnitId: "你的广告id",
});
try{
if(videoAd.closeHandler){
videoAd.offClose(videoAd.closeHandler);
console.log("---videoAd.offClose 卸载成功---");
}
} catch (e) {
console.log("---videoAd.offClose 卸载失败---");
console.error(e);
}
videoAd.closeHandler = function (res) {
// 用户点击了【关闭广告】按钮
if (res && res.isEnded || res === undefined) {
// 正常播放结束,可以下发奖励
console.log("播放完毕");
} else {
//提前关闭小程序
}
};
videoAd.onClose(videoAd.closeHandler);