wx-xcx ad.js
var interstitialAd = null;
module.exports = {
// 激励视频广告
showRewardVideoAd(adId, closeEnd, closeNotEnd) {
let pages = getCurrentPages()
let currentPage = pages[pages.length - 1]
let rewardVideoAd = currentPage[adId]
if (!rewardVideoAd) {
// 初始化视频组件
rewardVideoAd = wx.createRewardedVideoAd({
adUnitId: adId,
multiton: true
})
currentPage[adId] = rewardVideoAd
}
// rewardVideoAd.offLoad()
rewardVideoAd.offError()
rewardVideoAd.offClose()
// rewardVideoAd.onLoad(() => { console.log('on load') })
rewardVideoAd.onError((err) => {
console.error(err)
uni.showToast({
title: '正在加载,请稍后再试',
icon: 'none'
})
})
rewardVideoAd.onClose((status) => {
// 基础库2.1.0以前的版本兼容,status是一个undefined
if (status && status.isEnded || status === undefined) {
// 正常播放结束,发放奖励
closeEnd ? closeEnd() : void(0)
} else {
// 未完成播放主动关闭
closeNotEnd ? closeNotEnd() : void(0)
}
})
uni.showToast({
title: '获取中',
icon: "loading",
mask: true
})
// 展示视频组件
rewardVideoAd.show().catch(() => {
// 失败重试
rewardVideoAd.load().then(() => rewardVideoAd.show()).catch(err => {
uni.showToast({
title: '激励视频 广告显示失败',
icon: 'none'
})
})
})
},
// 插屏广告
load(id) {
if (uni.createInterstitialAd) {
interstitialAd = uni.createInterstitialAd({
adUnitId: id
})
interstitialAd.onLoad(() => {
console.log('插屏广告加载中')
})
interstitialAd.onError((err) => {
console.log('加载错误', err)
})
interstitialAd.onClose((res) => {
console.log('插屏广告关闭', res)
})
}
},
show() {
if (interstitialAd) {
interstitialAd.show().catch((err) => {
console.error(err)
})
}
}
}