https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/ad/rewarded-video-ad.html
switch (data.type) {
case '激励广告':
if (uni.createRewardedVideoAd) {
// console.log("这里1");
videoAd = uni.createRewardedVideoAd({
adUnitId: data.adUnitId
})
// console.log("这里2", videoAd);
videoAd.onLoad(() => {
uni.hideLoading()
console.log("激励广告加载成功");
if (videoAd) {
videoAd.show().catch(() => {
// 失败重试
videoAd.load()
.then(() => videoAd.show())
.catch(err => {
console.error('激励视频 广告显示失败', err)
if (isResult.value) {
return
}
uni.showToast({
title: '广告显示失败,请重新进入页面',
icon: 'none'
});
handlerEmit('onAdResult', false)
})
})
} else {
uni.showToast({
title: '广告显示失败,请稍后再试',
icon: 'none'
});
console.log("广告显示失败,请稍后再试");
handlerEmit('onAdResult', false)
}
})
// console.log("这里3",videoAd);
videoAd.onError((err) => {
// console.log("这里4",videoAd);
uni.hideLoading()
console.error('激励视频光告加载失败', err)
handlerEmit('onAdResult', false)
switch (err.errCode) {
case 1000:
uni.showToast({
title: '后端接口调用失败',
icon: 'none'
});
break;
default:
uni.showToast({
title: '激励视频光告加载失败',
icon: 'none'
});
break;
}
})
videoAd.onClose((res) => {
// console.log("这里5",videoAd);
// 用户点击了【关闭广告】按钮
console.log("onClose", res);
videoAd.destroy()
if (res && res.isEnded) {
handlerEmit('onAdResult', true)
} else {
handlerEmit('onAdResult', false)
}
})
} else {
uni.hideLoading()
uni.showToast({
title: '广告加载失败,不支持激励广告',
icon: 'none'
});
}
break;
default:
uni.hideLoading()
handlerEmit('onAdResult', false)
uni.showToast({
title: '广告类型错误',
icon: 'none'
});
}
你好,需要主动调一下 videoAd.load() 来加载广告,否则遇到错误不会抛出来