微信小程序添加插屏广告并设置显示频率(一天一次)


Posted in Javascript onDecember 06, 2019

插屏广告

用户触发小程序中的特定场景时,插屏广告将自动向用户展现,用户可以随时关闭插屏广告。广告触发场景由流量主自定义,广告按曝光计费(CPM)。

微信小程序今年新上线了插屏广告,设置和在代码库中接入都非常方便。详细可见微信小程序官方文档。

大体的流程就是在小程序后台新建广告位,获取到广告位的adUnitId并嵌入到源代码,因为插屏广告的单页面性,在页面的onload处添加即可。

let interstitialAd = null;
if (wx.createInterstitialAd) {
 interstitialAd = wx.createInterstitialAd({
  adUnitId: 'adunit-ID'
 })
}
if(interstitialAd) {
 interstitialAd.show().catch((err) => {
  console.error(err);
 })
}

嵌入广告非常简单,毕竟微信已经将所有的接口写好了,开发者仅需调用即可。

主要的功能点是设置一个插屏广告一天只显示一次,而微信并没有提供这方面的api,秉持前端能完成的就不要麻烦后端,便想到直接使用缓存存储当期日期,用户打开页面的时候获取上次缓存的日期查看是否相同即可。

//这里使用的是mpVue框架,写在mounted里。
let nowday = new Date().getFullYear().toString() + (new Date().getMonth() + 1).toString() + new Date().getDate().toString() ;

//获取上次打开页面时间
try {
 let lastDay = wx.getStorageSync('day');
 if(lastDay) {
  console.log('lastday', lastDay);
  console.log('nowday', nowday)
  if(lastDay == nowday) {
   this.flag = false;
  } else {
   this.flag = true;
  } 
 }
} catch (e) {
 //用户首次打开
 this.flag = true;
 console.error(e);
 console.log('true no storage', this.flag)
}

if(interstitialAd && this.flag) {
 interstitialAd.show().catch((err) => {
  console.error(err);
 })
}
interstitialAd.onLoad(() => {
 try {
  wx.setStorageSync('day', nowday);
  console.log('存储时间', nowday);
  } catch (e) { 
  console.log('err', err)
 }
})

PS:下面看下一天只显示一次的弹出广告

仿京东官网顶部的广告关闭,效果为第一次进入官网会出现广告,然后点击关闭,刷新网页不会再显示广告,但是当清除localStorage存入的数据,刷新网页会再显示广告。

html代码

<div class="header">
 <div class="header-a">
  <a href=""></a>
  <i class="close">x</i>
 </div>
</div>

css代码

.header{
 width:100%;
 height:80px;
 background:#000;
}
.header-a{
 width:1190px;
 margin:0 auto;
 position:relative;
 background:url("images/1.jpg") no-repeat;
}
.header-a a{
 width:100%;
 height:80px;
 display:block;
}
.close{
 cursor:pointer;
 color:#fff;
 position:absolute;
 top:5px;
 right:5px;
 background:rgb(129, 117, 117);
 width: 20px;
 text-align: center;
 line-height: 20px;
}

js代码

//localStorage方法
<script src="../js/jquery.min.js"></script>
function popAd(){
  //判断localStorage里有没有isClose
  if(localStorage.getItem("isClose")){    
   $(".header").hide();
  }else{
   $(".header").show();
  }
  //点击关闭隐藏图片存取数据
  $(".close").click(function(){
   $(".header").fadeOut(1000);

   localStorage.setItem("isClose", "1"); 
  })
 }
 popAd();

chrome console清本地缓存localStorage.clear()

批量清:

localStorage.clear()

单独清除某个记录的缓存,如:

localStorage.clear("popup_info") 或 localStorage.removeItem("popup_info");

总结

以上所述是小编给大家介绍的微信小程序添加插屏广告并设置显示频率(一天一次),希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

Javascript 相关文章推荐
javascript表单验证使用示例(javascript验证邮箱)
Jan 07 Javascript
javascript模拟订火车票和退票示例
Apr 24 Javascript
Node.js 的异步 IO 性能探讨
Oct 08 Javascript
javascript中cookie对象用法实例分析
Jan 30 Javascript
JavaScript实现的简单幂函数实例
Apr 17 Javascript
jQuery插件datepicker 日期连续选择
Jun 12 Javascript
基于js中的原型、继承的一些想法
Aug 10 Javascript
.net MVC+Bootstrap下使用localResizeIMG上传图片
Apr 21 Javascript
关于Bootstrap按钮组件消除黄框的方法
May 19 Javascript
slideToggle+slideup实现手机端折叠菜单效果
May 25 Javascript
微信小程序的注册页面包含倒计时验证码、获取用户信息
May 22 Javascript
解决vue字符串换行问题(绝对管用)
Aug 06 Javascript
微信小程序激励式视频广告组件使用详解
Dec 06 #Javascript
微信小程序中限制激励式视频广告位显示次数(实现思路)
Dec 06 #Javascript
vue中监听路由参数的变化及方法
Dec 06 #Javascript
详解ECMAScript2019/ES10新属性
Dec 06 #Javascript
ES6的异步操作之promise用法和async函数的具体使用
Dec 06 #Javascript
原生JavaScript实现滑动拖动验证的示例代码
Dec 06 #Javascript
微信小程序 自定义弹窗实现过程(附代码)
Dec 05 #Javascript
You might like
CSS+JS构建的图片查看器
2006/07/22 Javascript
JavaScript 获取用户客户端操作系统版本
2009/08/25 Javascript
基于jquery的无缝循环新闻列表插件
2011/03/07 Javascript
jQuery.get、jQuery.getJSON、jQuery.post无法返回JSON问题的解决方法
2011/07/28 Javascript
Chosen 基于jquery的选择框插件使用方法
2012/05/30 Javascript
jquery live()重复绑定的解决方法介绍
2014/01/03 Javascript
Jquery对select的增、删、改、查操作
2015/02/06 Javascript
浅析javascript中的DOM
2015/03/01 Javascript
javascript基本包装类型介绍
2015/04/10 Javascript
JQuery中两个ul标签的li互相移动实现方法
2015/05/18 Javascript
javascript显示中文日期的方法
2015/06/18 Javascript
基于jQuery的网页影音播放器jPlayer的基本使用教程
2016/03/08 Javascript
Require.JS中的几种define定义方式示例
2017/06/01 Javascript
JavaScript判断变量名是否存在数组中的实例
2017/12/28 Javascript
vue左右侧联动滚动的实现代码
2018/06/06 Javascript
vue 监听某个div垂直滚动条下拉到底部的方法
2018/09/15 Javascript
详解vue 项目白屏解决方案
2018/10/31 Javascript
在Create React App中启用Sass和Less的方法示例
2019/01/16 Javascript
openLayer4实现动态改变标注图标
2020/08/17 Javascript
[37:45]2014 DOTA2国际邀请赛中国区预选赛5.21 DT VS Orenda
2014/05/22 DOTA
在Windows8上的搭建Python和Django环境
2014/07/03 Python
python pandas库中DataFrame对行和列的操作实例讲解
2018/06/09 Python
使用Python制作简单的小程序IP查看器功能
2019/04/16 Python
Python获取一个用户名的组ID过程解析
2019/09/03 Python
pandas 缺失值与空值处理的实现方法
2019/10/12 Python
Python 用turtle实现用正方形画圆的例子
2019/11/21 Python
pytorch下的unsqueeze和squeeze的用法说明
2021/02/06 Python
CSS3实现文本垂直排列的方法
2018/07/10 HTML / CSS
别名指示符是什么
2012/10/08 面试题
现金出纳岗位职责
2014/03/15 职场文书
公司领导九九重阳节发言稿2014
2014/09/25 职场文书
2015年中秋晚会主持稿
2015/07/30 职场文书
2016年度先进班组事迹材料
2016/03/01 职场文书
CSS3 Tab动画实例之背景切换动态效果
2021/08/23 HTML / CSS
搭建Yolov5服务器
2022/04/30 Servers
python如何查找列表中元素的位置
2022/05/30 Python