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


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 相关文章推荐
Jquery 常用方法经典总结
Jan 28 Javascript
javascript cookie操作类的实现代码小结附使用方法
Jun 02 Javascript
Js可拖拽放大的层拖动特效实现方法
Feb 25 Javascript
JavaScript实现拖拽网页内元素的方法
Apr 15 Javascript
聊一聊JS中的prototype
Sep 29 Javascript
详解Vue爬坑之vuex初识
Jun 14 Javascript
关于页面刷新vuex数据消失问题解决方案
Jul 03 Javascript
详解node Async/Await 更好的异步编程解决方案
May 10 Javascript
webpack公共组件引用路径简化小技巧
Jun 15 Javascript
vue实现文字横向无缝走马灯组件效果的实例代码
Apr 09 Javascript
在node环境下parse Smarty模板的使用示例代码
Nov 15 Javascript
JavaScript对象访问器Getter及Setter原理解析
Dec 08 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
yii2.0整合阿里云oss上传单个文件的示例
2017/09/19 PHP
Document 对象的常用方法
2009/07/31 Javascript
iframe自适应宽度、高度 ie6 7 8,firefox 3.86下测试通过
2010/07/29 Javascript
Jquery ThickBox插件使用心得(不建议使用)
2010/09/08 Javascript
BootStrap智能表单实战系列(七)验证的支持
2016/06/13 Javascript
JS作为值的函数用法示例
2016/06/20 Javascript
js自定义瀑布流布局插件
2017/05/16 Javascript
BootStrap给table表格的每一行添加一个按钮事件
2017/09/07 Javascript
微信小程序实现跑马灯效果完整代码(附效果图)
2018/05/30 Javascript
如何使用vuex实现兄弟组件通信
2018/11/02 Javascript
安装python时MySQLdb报错的问题描述及解决方法
2018/03/20 Python
Python机器学习k-近邻算法(K Nearest Neighbor)实例详解
2018/06/25 Python
Python 忽略warning的输出方法
2018/10/18 Python
python实现对指定字符串补足固定长度倍数截断输出的方法
2018/11/15 Python
python用fsolve、leastsq对非线性方程组求解
2018/12/15 Python
Python这样操作能存储100多万行的xlsx文件
2019/04/16 Python
Python实现二叉搜索树BST的方法示例
2019/07/30 Python
Python使用sqlite3模块内置数据库
2020/05/07 Python
django中related_name的用法说明
2020/05/20 Python
Python sublime安装及配置过程详解
2020/06/29 Python
Python Selenium XPath根据文本内容查找元素的方法
2020/12/07 Python
HTML5基于flash实现播放RTMP协议视频的示例代码
2020/12/04 HTML / CSS
英国最大的专业户外零售商:Mountain Warehouse
2018/06/06 全球购物
阿联酋最好的手机、电子产品和家用电器网上商店:Eros Digital Home
2020/08/09 全球购物
编写类String的构造函数、析构函数和赋值函数
2012/05/29 面试题
卫校中专生个人自我评价
2013/09/19 职场文书
在求职信中如何凸显个人优势
2013/10/30 职场文书
遥感技术与仪器求职信
2014/02/22 职场文书
创业者迈进成功第一步:如何写创业计划书?
2014/03/22 职场文书
税务干部群众路线教育实践活动对照检查材料
2014/09/20 职场文书
申报优秀教师材料
2014/12/16 职场文书
美丽人生观后感
2015/06/03 职场文书
python图片灰度化处理的几种方法
2021/06/23 Python
WINDOWS 64位 下安装配置mysql8.0.25最详细的教程
2022/03/22 MySQL
Python Django / Flask如何使用Elasticsearch
2022/04/19 Python
Python绘制散乱的点构成的图的方法
2022/04/21 Python