**创建并初始化微信激励视频广告*/
const createWxRewardedVideoAd = async () => {
safeDestroyAd();
if (!wx.createRewardedVideoAd) {
console.error('当前环境不支持微信激励视频广告');
uni.showToast({
title: '当前环境不支持广告',
icon: 'none',
});
return false;
}
const currentAd = apdidList.value[setTimeNum.value];
if (!currentAd) {
console.error('没有可用的广告位');
uni.showToast({
title: '暂无可用广告',
icon: 'none',
});
return false;
}
console.log('创建广告实例,广告位:', currentAd.adpid);
try {
adRewardedVideoRef.value = wx.createRewardedVideoAd({
adUnitId: currentAd.adpid,
});
loadAdData.value = currentAd;
urlCallback.extra = currentAd.extra;
console.log('广告实例创建------111', adRewardedVideoRef.value);
setupAdEventListeners();
console.log('广告实例创建成功');
return true;
} catch (error) {
console.error('广告实例创建失败', error);
await tryNextAdUnit();
return false;
}
const setupAdEventListeners = () => {
if (!adRewardedVideoRef.value) return;
adRewardedVideoRef.value.offLoad && adRewardedVideoRef.value.offLoad();
adRewardedVideoRef.value.offError && adRewardedVideoRef.value.offError();
adRewardedVideoRef.value.offClose && adRewardedVideoRef.value.offClose();
adRewardedVideoRef.value.onLoad(() => {
console.log('激励视频广告加载成功');
uni.hideLoading();
});
adRewardedVideoRef.value.onError((err) => {
console.error('激励视频广告加载失败', err);
uni.hideLoading();
tryNextAdUnit();
});
adRewardedVideoRef.value.onClose(async (res) => {
console.log('激励视频广告关闭', res);
await onAdClose(res);
console.log('广告关闭,销毁广告实例');
safeDestroyAd();
});
};
};**创建并初始化微信激励视频广告*/
const createWxRewardedVideoAd = async () => {
safeDestroyAd();
if (!wx.createRewardedVideoAd) {
console.error('当前环境不支持微信激励视频广告');
uni.showToast({
title: '当前环境不支持广告',
icon: 'none',
});
return false;
const currentAd = apdidList.value[setTimeNum.value];
if (!currentAd) {
console.error('没有可用的广告位');
uni.showToast({
title: '暂无可用广告',
icon: 'none',
});
return false;
}
console.log('创建广告实例,广告位:', currentAd.adpid);
try {
adRewardedVideoRef.value = wx.createRewardedVideoAd({
adUnitId: currentAd.adpid,
});
loadAdData.value = currentAd;
urlCallback.extra = currentAd.extra;
console.log('广告实例创建------111', adRewardedVideoRef.value);
setupAdEventListeners();
console.log('广告实例创建成功');
return true;
} catch (error) {
console.error('广告实例创建失败', error);
await tryNextAdUnit();
return false;
}
};
如何确保加载完毕,再次初始化创建就失败,广告位也只有一个,无法进行轮询加载广告