Files
peiwan-uniapp/sheep/util/adVideoUtils.js

107 lines
2.6 KiB
JavaScript
Raw Permalink Normal View History

2025-01-21 01:46:34 +08:00
let videoAd = null;
let adVideoUtils = {
/**
* @param {String} adUnitId 小程序广告视频id
* videoAdInit 初始化激励广告
*/
videoAdInit(adUnitId) {
if (videoAd) {
videoAd = null;
}
if (uni.createRewardedVideoAd) {
videoAd = uni.createRewardedVideoAd({
adUnitId: adUnitId,
});
if (videoAd) {
videoAd.onLoad(() => {
console.log('激励视频 广告加载成功');
});
videoAd.onError((err) => {
console.log('onError event emit');
});
}
// return videoAd;
}
},
/**
* @param {String} adUnitId 小程序广告视频id
* videoAdInit 初始化插屏广告
*/
insertVideoAdInit(adUnitId) {
if (videoAd) {
videoAd = null;
}
if (uni.createInterstitialAd) {
videoAd = uni.createInterstitialAd({
adUnitId: adUnitId,
});
if (videoAd) {
videoAd.onLoad(() => {
console.log('插屏视频 广告加载成功');
});
videoAd.onError((err) => {
console.log('onError event emit');
});
}
// return videoAd;
}
},
/* 显示广告 ture为播放完成 */
videoAdShow() {
return new Promise((resolve, reject) => {
adVideoUtils._showAd().then((val) => {
if (val) {
videoAd.onClose((res) => {
videoAd.offClose();
if (res.isEnded) {
//成功 给予奖励
resolve(true);
} else {
resolve(false);
}
});
videoAd.onError((err) => {
if (err.errCode == "1004") {
reject("1004");
} else {
reject(err);
}
});
} else {
resolve(true);
//reject(err);
}
});
});
},
_showAd() {
return new Promise((resolve) => {
videoAd
.show()
.then(() => {
console.log("广告显示成功");
uni.setStorageSync("adClick", false);
resolve(true);
})
.catch((err) => {
console.log("广告组件出现问题", err);
// 可以手动加载一次
videoAd
.load()
.then(() => {
console.log("手动加载成功");
uni.setStorageSync("adClick", false);
resolve(true);
// 加载成功后需要再显示广告
return videoAd.show();
})
.catch((err) => {
resolve(false);
console.log("广告组件出现问题2次加载", err);
// this.showUToast("加载失败啦,请稍后在试", "error");
});
});
});
},
};
export default adVideoUtils;