微信小程序添加插屏廣告并設(shè)置顯示頻率(一天一次)
插屏廣告
用戶觸發(fā)小程序中的特定場(chǎng)景時(shí),插屏廣告將自動(dòng)向用戶展現(xiàn),用戶可以隨時(shí)關(guān)閉插屏廣告。廣告觸發(fā)場(chǎng)景由流量主自定義,廣告按曝光計(jì)費(fèi)(CPM)。
微信小程序今年新上線了插屏廣告,設(shè)置和在代碼庫(kù)中接入都非常方便。詳細(xì)可見(jiàn)微信小程序官方文檔。
大體的流程就是在小程序后臺(tái)新建廣告位,獲取到廣告位的adUnitId并嵌入到源代碼,因?yàn)椴迤翉V告的單頁(yè)面性,在頁(yè)面的onload處添加即可。
let interstitialAd = null; if (wx.createInterstitialAd) { interstitialAd = wx.createInterstitialAd({ adUnitId: 'adunit-ID' }) } if(interstitialAd) { interstitialAd.show().catch((err) => { console.error(err); }) }
嵌入廣告非常簡(jiǎn)單,畢竟微信已經(jīng)將所有的接口寫(xiě)好了,開(kāi)發(fā)者僅需調(diào)用即可。
主要的功能點(diǎn)是設(shè)置一個(gè)插屏廣告一天只顯示一次,而微信并沒(méi)有提供這方面的api,秉持前端能完成的就不要麻煩后端,便想到直接使用緩存存儲(chǔ)當(dāng)期日期,用戶打開(kāi)頁(yè)面的時(shí)候獲取上次緩存的日期查看是否相同即可。
//這里使用的是mpVue框架,寫(xiě)在mounted里。 let nowday = new Date().getFullYear().toString() + (new Date().getMonth() + 1).toString() + new Date().getDate().toString() ; //獲取上次打開(kāi)頁(yè)面時(shí)間 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) { //用戶首次打開(kāi) 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('存儲(chǔ)時(shí)間', nowday); } catch (e) { console.log('err', err) } })
PS:下面看下一天只顯示一次的彈出廣告
仿京東官網(wǎng)頂部的廣告關(guān)閉,效果為第一次進(jìn)入官網(wǎng)會(huì)出現(xiàn)廣告,然后點(diǎn)擊關(guān)閉,刷新網(wǎng)頁(yè)不會(huì)再顯示廣告,但是當(dāng)清除localStorage存入的數(shù)據(jù),刷新網(wǎng)頁(yè)會(huì)再顯示廣告。
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里有沒(méi)有isClose if(localStorage.getItem("isClose")){ $(".header").hide(); }else{ $(".header").show(); } //點(diǎn)擊關(guān)閉隱藏圖片存取數(shù)據(jù) $(".close").click(function(){ $(".header").fadeOut(1000); localStorage.setItem("isClose", "1"); }) } popAd();
chrome console清本地緩存localStorage.clear()
批量清:
localStorage.clear()
單獨(dú)清除某個(gè)記錄的緩存,如:
localStorage.clear("popup_info") 或 localStorage.removeItem("popup_info");
總結(jié)
以上所述是小編給大家介紹的微信小程序添加插屏廣告并設(shè)置顯示頻率(一天一次),希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
如果你覺(jué)得本文對(duì)你有幫助,歡迎轉(zhuǎn)載,煩請(qǐng)注明出處,謝謝!
相關(guān)文章
JS監(jiān)聽(tīng)微信、支付寶等移動(dòng)app及瀏覽器的返回、后退、上一頁(yè)按鈕的事件方法
這篇文章主要介紹了JS監(jiān)聽(tīng)微信、支付寶等移動(dòng)app及瀏覽器的返回、后退、上一頁(yè)按鈕的事件方法,需要的朋友可以參考下2016-08-08JavaScript之class繼承_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理
這篇文章主要介紹了JavaScript之class繼承,新的關(guān)鍵字class從ES6開(kāi)始正式被引入到JavaScript中。class的目的就是讓定義類(lèi)更簡(jiǎn)單,有興趣的可以了解一下2017-07-07JavaScript中數(shù)據(jù)結(jié)構(gòu)與算法(四):串(BF)
這篇文章主要介紹了JavaScript中數(shù)據(jù)結(jié)構(gòu)與算法(四):串(BF),串是由零個(gè)或多個(gè)字符組成的有限序列,又叫做字符串,本文著重講解了BF(Brute Force)算法,需要的朋友可以參考下2015-06-06HTML5之WebSocket入門(mén)3 -通信模型socket.io
socket.io能為程序員提供客戶端和服務(wù)端一致的編程體驗(yàn),socket.io支持任何的瀏覽器,任何的Mobile設(shè)備。下面通過(guò)本篇文章給大家講解HTML5之WebSocket入門(mén)3 -通信模型socket.io,需要的朋友可以參考下2015-08-08在element-ui的el-tree組件中用render函數(shù)生成el-button的實(shí)例代碼
這篇文章主要介紹了在element-ui的el-tree組件中用render函數(shù)生成el-button 的方法,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2018-11-11一行JavaScript代碼如何實(shí)現(xiàn)瀑布流布局
這篇文章主要給大家介紹了如何通過(guò)一行JavaScript代碼實(shí)現(xiàn)瀑布流布局的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-12-12JS實(shí)現(xiàn)靜止元素自動(dòng)移動(dòng)示例
這篇文章主要介紹了JS實(shí)現(xiàn)靜止元素自動(dòng)移動(dòng)的具體實(shí)現(xiàn),需要的朋友可以參考下2014-04-04Javascript 圓角div的實(shí)現(xiàn)代碼
為什么要做圓角的div: 圓角div平滑美觀,某些情況下有比較不錯(cuò)的效果。比如說(shuō)要做一個(gè)報(bào)message的消息框,那么動(dòng)態(tài)的生成一個(gè)圓角div則很有意義。而對(duì)html樣式控制的css本身是不直接支持圓角div的。2009-10-10