微信小程序中限制激励式视频广告位显示次数(实现思路)
微信小程序自从支持激励式视频广告位以后,很多小程序为了变现都加入了此广告位,广告正常观看结束的次数越多就越赚钱,但是观看次数的比率过高也会面临封号的风险,那么如何才能规避这个风险呢?
实现思路:限制每个用户当天观看激励式视频广告位的次数,如果用户当天观看广告位超过了一定的次数就不再显示广告位,用户第二天打开小程序时清空第一天观看广告的次数,下面用实例代码来说明。
第一步:在小程序的onLaunch里获取本地存储的上一次观看激励视频广告保存的时间,并获取本地存储观看广告位的次数,如果上一次观看激励视频广告时间的晚上12点小于当前时间,则将观看广告位的次数清0;
onLaunch:function(){
//获取激励视频广告位加载的次数
varcount=wx.getStorageSync('showRewardedVideoAdCount');
if(!count){
wx.setStorage({
key:'showRewardedVideoAdCount',
data:0,
})
};
//上次观看激励视频广告保存的时间
varlastSaveTime=wx.getStorageSync('saveVideoAdCountTime');
if(lastSaveTime){
//计算最后一次保存时间晚上12点的时间戳
varendTime=newDate(newDate(lastSaveTime).setHours(23,59,59,999));
//当前时间戳
varcurrentDate=newDate();
varcurrentTime=currentDate.getTime();
//清空激励广告位观看次数
if(currentTime>endTime){
wx.setStorage({
key:'showRewardedVideoAdCount',
data:0,
})
}
}
},
第二步:发起请求从服务端获取广告位ID以后生成广告位,这一步只做参考。
//如果激励广告位视频存在
if(rewardedAdId){
that.setData({
rewardedAdId:rewardedAdId
},function(){
//创建一个激励视频广告位,rewardedVideoAd为全局变量,与Page()同级.
rewardedVideoAd=wx.createRewardedVideoAd({
adUnitId:rewardedAdId
});
//监听加载
rewardedVideoAd.onLoad(()=>{
console.log('激励广告加载成功');
});
//监听失败
rewardedVideoAd.onError(err=>{
console.log('激励广告加载失败'+err);
});
})
}
注意:以上代码中广告位ID rewardedAdId为发起请求获取,而rewardedVideoAd为整个页面的全局全变,与Page()同级。
第三步:在用户触发广告位以后,获取用户当天已正常观看完毕广告位的次数A与限制广告位播放的最多次数B,如果A小于B则继续加载广告位,否则播放视频。在广告位正常播放完毕后,要更新本地存储的播放次数与观看时间。
//点击播放
bindPlay:function(){
varthat=this;
varcount=wx.getStorageSync('showRewardedVideoAdCount');
//对应页面上的video标签
varvideoContext=wx.createVideoContext('myVideo');
//限制激励视频最大播放次数
if(count
上面的代码中,我们对是否有广告位ID做了判断,如第6行中的that.data.rewardedAdId,如果没有广告位ID,则直接播放视频,另外,如果用户播放完一个视频以后可能还会在该页面的推荐中观看其它视频,而此时再次弹出广告位的体验可能会不太好,所以我又加了入了一个判断,如上面代码中第6行的that.data.showRewardedAd,页面初始化时该值为1,当播放完一次后将其归0。
总结
以上所述是小编给大家介绍的微信小程序中限制激励式视频广告位显示次数的实现思路,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对毛票票网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。