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


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[js]获取url参数的代码
Oct 17 Javascript
一个JavaScript去除字符串末尾的空白实例代码
Sep 22 Javascript
jQuery中fadeOut()方法用法实例
Dec 24 Javascript
js简单抽奖代码
Jan 16 Javascript
用JavaScript和jQuery实现瀑布流
Mar 19 Javascript
Vuejs 单文件组件实例详解
Feb 09 Javascript
小程序视频列表中视频的播放与停止的示例代码
Jul 20 Javascript
js使用cookie实现记住用户名功能示例
Jun 13 Javascript
JavaScript 实现HTML DOM增删改查操作的常见方法详解
Jan 04 Javascript
Vue前端项目部署IIS的实现
Jan 06 Javascript
Vue基于localStorage存储信息代码实例
Nov 16 Javascript
二维码条形码生成的JavaScript脚本库
Jul 07 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
PHP编程过程中需要了解的this,self,parent的区别
2009/12/30 PHP
Laravel5.4框架中视图共享数据的方法详解
2019/09/05 PHP
Yii中特殊行为ActionFilter的使用方法示例
2020/10/18 PHP
javascript入门·动态的时钟,显示完整的一些方法,新年倒计时
2007/10/01 Javascript
jQuery 各种浏览器下获得日期区别
2008/12/22 Javascript
javascript 必知必会之closure
2009/09/21 Javascript
JQuery 插件制作实践 xMarquee插件V1.0
2010/04/02 Javascript
JS 图片缩放效果代码
2010/06/09 Javascript
探讨jQuery的ajax使用场景(c#)
2013/12/03 Javascript
jquery无刷新验证邮箱地址实现实例
2014/02/19 Javascript
JS的get和set使用示例
2014/02/20 Javascript
javascript模拟评分控件实现方法
2015/05/13 Javascript
JS深度拷贝Object Array实例分析
2016/03/31 Javascript
JavaScript进阶练习及简单实例分析
2016/06/03 Javascript
jQuery图片轮播功能实例代码
2017/01/29 Javascript
基于JavaScript实现数码时钟效果
2020/03/30 Javascript
Node.js使用Koa搭建 基础项目
2018/01/08 Javascript
webpack4之SplitChunksPlugin使用指南
2018/06/12 Javascript
vue实现点击当前标签高亮效果【推荐】
2018/06/22 Javascript
Electron 如何调用本地模块的方法
2019/02/01 Javascript
原生js+canvas实现下雪效果
2020/08/02 Javascript
解决vuecli3中img src 的引入问题
2020/08/04 Javascript
Python连接PostgreSQL数据库的方法
2016/11/28 Python
Python数据分析matplotlib设置多个子图的间距方法
2018/08/03 Python
python的pygal模块绘制反正切函数图像方法
2019/07/16 Python
python读取当前目录下的CSV文件数据
2020/03/11 Python
美国时尚大码女装购物网站:Avenue
2019/05/24 全球购物
八皇后问题,输出了所有情况,不过有些结果只是旋转了90度
2016/08/15 面试题
干部下基层实施方案
2014/03/14 职场文书
优秀乡村医生先进事迹材料
2014/08/23 职场文书
学校做一个有道德的人活动方案
2014/08/23 职场文书
2014年教师节红领巾广播稿
2014/09/10 职场文书
践行党的群众路线心得体会
2014/11/05 职场文书
建筑工地资料员岗位职责
2015/04/13 职场文书
门卫管理制度范本
2015/08/05 职场文书
Kubernetes中Deployment的升级与回滚
2022/04/01 Servers