微信小程序添加插屏廣告并設(shè)置顯示頻率(一天一次)
插屏廣告
用戶觸發(fā)小程序中的特定場景時,插屏廣告將自動向用戶展現(xiàn),用戶可以隨時關(guān)閉插屏廣告。廣告觸發(fā)場景由流量主自定義,廣告按曝光計費(CPM)。
微信小程序今年新上線了插屏廣告,設(shè)置和在代碼庫中接入都非常方便。詳細可見微信小程序官方文檔。
大體的流程就是在小程序后臺新建廣告位,獲取到廣告位的adUnitId并嵌入到源代碼,因為插屏廣告的單頁面性,在頁面的onload處添加即可。
let interstitialAd = null; if (wx.createInterstitialAd) { interstitialAd = wx.createInterstitialAd({ adUnitId: 'adunit-ID' }) } if(interstitialAd) { interstitialAd.show().catch((err) => { console.error(err); }) }
嵌入廣告非常簡單,畢竟微信已經(jīng)將所有的接口寫好了,開發(fā)者僅需調(diào)用即可。
主要的功能點是設(shè)置一個插屏廣告一天只顯示一次,而微信并沒有提供這方面的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:下面看下一天只顯示一次的彈出廣告
仿京東官網(wǎng)頂部的廣告關(guān)閉,效果為第一次進入官網(wǎng)會出現(xiàn)廣告,然后點擊關(guān)閉,刷新網(wǎng)頁不會再顯示廣告,但是當清除localStorage存入的數(shù)據(jù),刷新網(wǎng)頁會再顯示廣告。
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(){ //判斷l(xiāng)ocalStorage里有沒有isClose if(localStorage.getItem("isClose")){ $(".header").hide(); }else{ $(".header").show(); } //點擊關(guān)閉隱藏圖片存取數(shù)據(jù) $(".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");
總結(jié)
以上所述是小編給大家介紹的微信小程序添加插屏廣告并設(shè)置顯示頻率(一天一次),希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
如果你覺得本文對你有幫助,歡迎轉(zhuǎn)載,煩請注明出處,謝謝!
相關(guān)文章
JS監(jiān)聽微信、支付寶等移動app及瀏覽器的返回、后退、上一頁按鈕的事件方法
這篇文章主要介紹了JS監(jiān)聽微信、支付寶等移動app及瀏覽器的返回、后退、上一頁按鈕的事件方法,需要的朋友可以參考下2016-08-08JavaScript之class繼承_動力節(jié)點Java學院整理
這篇文章主要介紹了JavaScript之class繼承,新的關(guān)鍵字class從ES6開始正式被引入到JavaScript中。class的目的就是讓定義類更簡單,有興趣的可以了解一下2017-07-07JavaScript中數(shù)據(jù)結(jié)構(gòu)與算法(四):串(BF)
這篇文章主要介紹了JavaScript中數(shù)據(jù)結(jié)構(gòu)與算法(四):串(BF),串是由零個或多個字符組成的有限序列,又叫做字符串,本文著重講解了BF(Brute Force)算法,需要的朋友可以參考下2015-06-06JS實現(xiàn)點擊下拉列表文本框中出現(xiàn)對應的網(wǎng)址,點擊跳轉(zhuǎn)按鈕實現(xiàn)跳轉(zhuǎn)
這篇文章主要介紹了JS實現(xiàn)點擊下拉列表文本框中出現(xiàn)對應的網(wǎng)址,點擊跳轉(zhuǎn)按鈕實現(xiàn)跳轉(zhuǎn),本文給大家分享實例代碼,代碼簡單易懂,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下2019-11-11HTML5之WebSocket入門3 -通信模型socket.io
socket.io能為程序員提供客戶端和服務端一致的編程體驗,socket.io支持任何的瀏覽器,任何的Mobile設(shè)備。下面通過本篇文章給大家講解HTML5之WebSocket入門3 -通信模型socket.io,需要的朋友可以參考下2015-08-08在element-ui的el-tree組件中用render函數(shù)生成el-button的實例代碼
這篇文章主要介紹了在element-ui的el-tree組件中用render函數(shù)生成el-button 的方法,本文通過實例代碼給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下2018-11-11