-
Creator 版本:2.0.9
-
目标平台: 今日头条
-
详细报错信息,包含调用堆栈:
-
重现方式:看完激励视频之后 就会报错
-
之前哪个版本是正常的 :
-
手机型号 :
-
手机浏览器 :
-
编辑器操作系统 :
-
编辑器之前是否有其它报错 :
-
出现概率:
-
额外线索:
Creator 版本:2.0.9
目标平台: 今日头条
详细报错信息,包含调用堆栈:
重现方式:看完激励视频之后 就会报错
之前哪个版本是正常的 :
手机型号 :
手机浏览器 :
编辑器操作系统 :
编辑器之前是否有其它报错 :
出现概率:
额外线索:
是不是你的this指向有问题呀
已解决 原因如下: 以前微信的视频可以多次创建,头条的视频全局只存在一个多次创建无效,然后以前微信我是用一次创建一次 用完销毁,然后头条就会多次创建和监听就会出现如上第一张图的错误,第二张图的错误 是因为 第一次看视频传入了一个匿名函数 第二次他不会走关闭回调了 因为回调是第一次注册的 然后当时的节点已经destroy 哎 菜是原罪
大佬 我也遇到这个问题 节点如果destroy没有了 那应该怎么解决这个问题呢?
`我是这么处理的
你可以参考一下
this.cb = null;
this.showCb = null;
this.closeCb = null;
if (cb) {
this.cb = cb;
}
if (showCb) {
this.showCb = showCb;
}
if (closeCb) {
this.closeCb = closeCb;
}
if (!this.videoAd) {
let adId = 'cgl75781k7h55ibpjb';
if (tt.createRewardedVideoAd == 'undefined') return;
this.videoAd = tt.createRewardedVideoAd({
adUnitId: adId
});
this.videoAd.onClose((res) => {
console.log('videoAd.onClose res.isEnded = ' + res.isEnded);
if (this.closeCb != null) {
this.closeCb();
}
if (res.isEnded == true) {
Game.gNode.emit(EventConfig.EVT_FINISHED_AD_VEDIO);
if (this.cb) {
this.cb();
}
} else {
this.showToast(Game.getInstance().sdkConfig.data['vedioFailedText']);
}
});
}
this.videoAd.load()
.then(() => {
if (this.showCb) {
this.showCb();
}
this.videoAd.show();
})
// err.errMsg
.catch(err => {
if (err.errMsg === 'no advertisement') {
err.errMsg = '当前无广告填充,请您稍后再试';
}
this.showToast(err.errMsg);
});
}`
代码在上面 你可以看一下