67 lines
1.6 KiB
JavaScript
67 lines
1.6 KiB
JavaScript
let showtype = false
|
|
|
|
// 激励视频广告实例(微信小程序)
|
|
const rewardedAd = wx.createRewardedVideoAd({
|
|
adUnitId: 'adunit-xxxxxxxxxx', // TODO: 替换为你的微信激励广告单元ID
|
|
});
|
|
|
|
// 加载激励视频广告
|
|
function insertAdload() {
|
|
rewardedAd.load().catch((err) => {
|
|
console.log('激励广告加载失败', err);
|
|
});
|
|
}
|
|
|
|
// 显示激励视频广告
|
|
function insertAdshow() {
|
|
if (showtype) {
|
|
console.log("显示广告");
|
|
rewardedAd.show().catch((err) => {
|
|
console.log('激励广告显示失败', err);
|
|
rewardedAd.load();
|
|
});
|
|
}
|
|
}
|
|
|
|
// 监听广告加载成功(支持回调)
|
|
function insertAdonLoad(onSuccess) {
|
|
rewardedAd.onLoad(() => {
|
|
showtype = true;
|
|
console.log('激励广告加载成功');
|
|
onSuccess && onSuccess();
|
|
});
|
|
}
|
|
|
|
// 监听错误(支持回调)
|
|
function insertAdonError(onFail) {
|
|
rewardedAd.onError((err) => {
|
|
console.log('激励广告错误', err);
|
|
showtype = false;
|
|
onFail && onFail();
|
|
setTimeout(() => {
|
|
insertAdload();
|
|
}, 30000);
|
|
});
|
|
}
|
|
|
|
// 监听广告关闭(微信特有:可判断是否看完)
|
|
function insertAdonClose(callback) {
|
|
rewardedAd.onClose((res) => {
|
|
console.log('激励广告关闭', res);
|
|
if (res && res.isEnded) {
|
|
callback && callback(true);
|
|
} else {
|
|
callback && callback(false);
|
|
}
|
|
insertAdload();
|
|
});
|
|
}
|
|
|
|
export default {
|
|
insertAdload,
|
|
insertAdshow,
|
|
insertAdonError,
|
|
insertAdonLoad,
|
|
insertAdonClose
|
|
}
|