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


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 相关文章推荐
js 中将多个逗号替换为一个逗号的代码
Jun 07 Javascript
jquery显示隐藏input对象
Jul 21 Javascript
JavaScript 匿名函数和闭包介绍
Apr 13 Javascript
jQuery结合CSS制作漂亮的select下拉菜单
May 03 Javascript
jQuery实现只允许输入数字和小数点的方法
Mar 02 Javascript
vue分页组件table-pagebar使用实例解析
Nov 15 Javascript
javascript 删除数组元素和清空数组的简单方法
Feb 24 Javascript
javascript编程开发中取色器及封装$函数用法示例
Aug 09 Javascript
微信小程序实现topBar底部选择栏效果
Jul 20 Javascript
详解angular2 控制视图的封装模式
Dec 27 Javascript
使用 js 简单的实现 bind、call 、aplly代码实例
Sep 07 Javascript
纯js+css实现仿移动端淘宝网站的弹出详情框功能
Dec 29 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
对text数据类型不支持代码页转换 从: 1252 到: 936
2011/04/23 PHP
PHP自动识别字符集并完成转码详解
2013/08/02 PHP
php上传文件中文文件名乱码的解决方法
2013/11/01 PHP
php中filter_input函数用法分析
2014/11/15 PHP
PHP中使用xmlreader读取xml数据示例
2014/12/29 PHP
php简单定时执行任务的实现方法
2015/02/23 PHP
jQuery 使用手册(五)
2009/09/23 Javascript
Ext 今日学习总结
2010/09/19 Javascript
js定义对象或数组直接量时各浏览器对多余逗号的处理(json)
2011/03/05 Javascript
js 调用父窗口的具体实现代码
2013/07/15 Javascript
JS运动基础框架实例分析
2015/03/03 Javascript
jQuery基本选择器(实例及表单域value的获取方法)
2016/05/20 Javascript
js日期相关函数dateAdd,dateDiff,dateFormat等介绍
2016/09/24 Javascript
jQuery操作复选框(CheckBox)的取值赋值实现代码
2017/01/10 Javascript
JS仿淘宝搜索框用户输入事件的实现
2017/06/19 Javascript
jquery.uploadView 实现图片预览上传功能
2017/08/10 jQuery
Nodejs+express+ejs简单使用实例代码
2017/09/18 NodeJs
利用原生js实现html5小游戏之打砖块(附源码)
2018/01/03 Javascript
详解小程序云开发数据库
2019/05/20 Javascript
在vue项目实现一个ctrl+f的搜索功能
2020/02/28 Javascript
Python中的数据对象持久化存储模块pickle的使用示例
2016/03/03 Python
Python编程pygame模块实现移动的小车示例代码
2018/01/03 Python
使用python生成杨辉三角形的示例代码
2018/08/29 Python
django之静态文件 django 2.0 在网页中显示图片的例子
2019/07/28 Python
pytorch实现用CNN和LSTM对文本进行分类方式
2020/01/08 Python
django-利用session机制实现唯一登录的例子
2020/03/16 Python
Python变量格式化输出实现原理解析
2020/08/06 Python
Python threading模块condition原理及运行流程详解
2020/10/05 Python
Python3中的tuple函数知识点讲解
2021/01/03 Python
CSS3关于z-index不生效问题的解决
2020/02/19 HTML / CSS
美国在线奢侈品寄售商店:Luxury Garage Sale
2018/08/19 全球购物
心理健康教育制度
2014/01/27 职场文书
养成教育经验材料
2014/05/26 职场文书
中学综治宣传月活动总结
2015/05/07 职场文书
课文《燕子》教学反思
2016/02/17 职场文书
深入解析MySQL索引数据结构
2021/10/16 MySQL