function showRewardVideoAd(adUnitId, retry = false) {
return new Promise((resolve, reject) => {
uni.showLoading();
try {
if (!this.adMap[adUnitId] || !this.adMap[adUnitId].instance) {
this.adMap[adUnitId] = {
instance: new RewardedVideoAd({
adUnitId,
}),
};
}
if (!this.adMap[adUnitId].instance) {
uni.hideLoading();
return reject('激励视频广告无法加载');
}
const _show = async () => {
try {
await this.adMap[adUnitId].instance.load();
} catch(e) {
uni.hideLoading();
return reject(e);
}
try {
await this.adMap[adUnitId].instance.show();
uni.hideLoading();
} catch(e) {
if (!retry) {
uni.hideLoading();
return reject(e);
}
this.adMap[adUnitId].instance.load()
.then(() => {
return this.adMap[adUnitId].instance.show();
})
.then(() => uni.hideLoading())
.catch(reject);
}
};
uni.$once(`adError_${adUnitId}`, (err) => {
uni.hideLoading();
reject(err);
});
uni.$once(`adClose_${adUnitId}`, (res) => {
uni.hideLoading();
resolve(res);
});
_show();
} catch(e) {
uni.hideLoading();
return reject(e);
}
});
}
}
1.使用的是uniapp开发
2.二次封装了这个方法
3.调用后能正常唤起激励视频,不过唤起广告后手机就开始发烫
4.不论是安卓还是ios都会发烫,发烫还挺严重的
5.一开始以为是使用了单例模式导致的,后尝试多实例模式,也是一样会发烫。
这是可能什么原因导致的啊?
