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


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 相关文章推荐
jscript之Read an Excel Spreadsheet
Jun 13 Javascript
基于jquery的网页SELECT下拉框美化代码
Oct 28 Javascript
JQuery操作Select的Options的Bug(IE8兼容性视图模式)
Apr 21 Javascript
弹出最简单的模式化遮罩层的js代码
Dec 04 Javascript
js实现的鼠标滚轮滚动切换页面效果(类似360默认页面滚动切换效果)
Jan 27 Javascript
AngularJS表单详解及示例代码
Aug 17 Javascript
微信小程序 解决请求服务器手机预览请求不到数据的方法
Jan 04 Javascript
使用jQuery ajaxupload插件实现无刷新上传文件
Apr 23 jQuery
D3.js进阶系列之CSV表格文件的读取详解
Jun 06 Javascript
vue2.0开发入门笔记之.vue文件的生成和使用
Sep 19 Javascript
深入理解 Koa 框架中间件原理
Oct 18 Javascript
JavaScript实现动态留言板
Mar 16 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
星际争霸, 教主第一视角, ZvT经典龙蛇演义
2020/03/02 星际争霸
S900/ ETON E1-XM 收音机
2021/03/02 无线电
PHP命令行脚本接收传入参数的三种方式
2014/08/20 PHP
php采集中国代理服务器网的方法
2015/06/16 PHP
php中ob函数缓冲机制深入理解
2015/08/03 PHP
Laravel5.1 框架Request请求操作常见用法实例分析
2020/01/04 PHP
uploadify在Firefox下丢失session问题的解决方法
2013/08/07 Javascript
JavaScript+CSS控制打印格式示例介绍
2014/01/07 Javascript
JS比较2个日期间隔的示例代码
2014/04/15 Javascript
jQuery中next方法用法实例
2015/04/24 Javascript
鼠标经过子元素触发mouseout,mouseover事件的解决方案
2015/07/26 Javascript
在Ubuntu系统上安装Node.JS的教程
2015/10/15 Javascript
jQuery封装的屏幕居中提示信息代码
2016/06/08 Javascript
jQuery异步提交表单的两种方式
2016/09/13 Javascript
Nodejs下使用gm圆形裁剪并合成图片的示例
2018/02/22 NodeJs
vue 实现剪裁图片并上传服务器功能
2018/03/01 Javascript
详解在React.js中使用PureComponent的重要性和使用方式
2018/07/10 Javascript
深入浅析vue中cross-env的使用
2019/09/12 Javascript
深入了解JavaScript词法作用域
2020/07/29 Javascript
[01:47]2018年度DOTA2最佳教练-完美盛典
2018/12/16 DOTA
Python利用Beautiful Soup模块修改内容方法示例
2017/03/27 Python
Python实现的堆排序算法示例
2018/04/29 Python
PyQt5基本控件使用之消息弹出、用户输入、文件对话框的使用方法
2019/08/06 Python
Python爬取知乎图片代码实现解析
2019/09/17 Python
使用HTML5 Geolocation实现一个距离追踪器
2018/04/09 HTML / CSS
墨西哥网上购物:Linio墨西哥
2016/10/20 全球购物
Canal官网:巴西女性时尚品牌
2019/10/16 全球购物
党支部公开承诺践诺书
2014/03/28 职场文书
关于爱国的演讲稿
2014/05/07 职场文书
银行先进个人事迹材料
2014/05/11 职场文书
环保标语大全
2014/06/12 职场文书
环境工程专业自荐信范文
2014/06/24 职场文书
医学专业大学生职业生涯规划书
2014/10/25 职场文书
部门主管竞聘书
2015/09/15 职场文书
windows下快速安装nginx并配置开机自启动的方法
2021/05/11 Servers
浅谈redis缓存在项目中的使用
2021/05/20 Redis