不多废话,以下是具体实现代码:
// 获取用户积分
let userPoints = wx.getStorageSync('points') || 0;
// 创建激励视频广告组件
let rewardedVideoAd = wx.createRewardedVideoAd({
adUnitId: '广告单元ID'
});
// 监听激励视频广告加载成功事件
rewardedVideoAd.onLoad(() => {
console.log('激励视频广告加载成功');
});
// 监听激励视频广告错误事件
rewardedVideoAd.onError((err) => {
console.log('激励视频广告错误', err);
});
// 监听激励视频广告关闭事件
rewardedVideoAd.onClose((res) => {
// 用户点击了【关闭广告】按钮或广告播放完毕
if (res && res.isEnded || res === undefined) {
// 增加用户积分
userPoints += 10;
wx.setStorageSync('points', userPoints);
console.log('用户观看完激励视频,增加10积分');
} else {
console.log('用户未观看完激励视频');
}
});
// 用户点击观看激励视频按钮
wx.showModal({
title: '观看激励视频',
content: '观看激励视频可以获得10积分,是否观看?',
success: (res) => {
if (res.confirm) {
// 播放激励视频广告
rewardedVideoAd.show().catch((err) => {
// 激励视频广告播放出错,增加异常处理
console.log('激励视频广告播放出错', err);
wx.showToast({
title: '激励视频广告播放出错,请稍后重试',
icon: 'none'
});
});
}
}
});