当前位置: 首页 > news >正文

【微信小程序】流量主-激励视频(激励广告)下发策略,每天三次免费体验,然后再次点击触发激励视频,当日不再触发。

如题:
允许用户有三次体验效果,然后弹出激励视频弹窗,之后当日不再弹出。

体验小程序:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

/*** 判断当前项目当天是否点击超过3次,触发广告效果。* 若,当天低于三次,则新增,若高于三次触发广告。*/
export const checkAd = () => {const today = new Date().toLocaleDateString();let day = uni.getStorageSync('day');// 获取本地存储的点击次数let clickCount = uni.getStorageSync('clickCount');// 如果第一次进入,没有存储任何数据,则对存储数据进行初始化if (!day || !clickCount) {uni.setStorageSync('day', today);uni.setStorageSync('clickCount', JSON.stringify(1))return false;}// 如果时间相同,则对今天的日期点击次数进行判断,如果if (today === day) {let parseCount = JSON.parse(clickCount);if (parseCount) {if (parseCount < 3) {uni.setStorageSync('clickCount', JSON.stringify(++parseCount))return false;}if (parseCount === 3) {return true;}if (parseCount > 3) {return false;}}} else {// today !== day,则证明存在之前天的数据,则应重新计数。uni.setStorageSync('day', today);uni.setStorageSync('clickCount', JSON.stringify(1))return false;}
}/*** 生成展示图片*/showShare(path) {if(checkAd()) {uni.showModal({title: '提示',content: '今日免费次数已满,观看一次广告解锁本日无限次数',confirmText: '确认',cancelText: '取消',success: (res) => {//点击“确认”时打开设置页面if (res.confirm) {this.showRewardVideoAd()}}})return}}
// adMixin.js// 在页面中定义激励视频广告的mixin,混入逻辑,可以多页面复用
let videoAd = null
export default {onLoad() {// 在页面onLoad回调事件中创建激励视频广告实例if (wx.createRewardedVideoAd) {videoAd = wx.createRewardedVideoAd({adUnitId: 'adunit-1be6e0fd1a51ec33'})videoAd.onLoad(() => {console.error('广告加载成功')})videoAd.onError((err) => {console.error('激励视频光告加载失败', err)})videoAd.onClose((res) => {// 用户点击了【关闭广告】按钮if (res && res.isEnded) {// 正常播放结束,可以下发游戏奖励let parseCount = JSON.parse(uni.getStorageSync('clickCount'));uni.setStorageSync('clickCount', JSON.stringify(++parseCount));uni.showToast({title: '恭喜您成功解锁!',icon: 'success'})} else {// 播放中途退出,不下发游戏奖励}})}},methods: {showRewardVideoAd() {if (videoAd) {videoAd.show().then((res) => {console.log('激励视频广告显示')}).catch((err) => {console.error(err)})}},}
}

在这里插入图片描述

相关文章:

  • MySQL 优化及故障排查
  • 手机有线投屏到直播姬pc端教程
  • winform日历控件_进度条控件
  • C++面向对象程序设计 - 构造函数
  • Linux——信号概念与信号产生方式
  • U-net在乳腺癌医学图像分割方面的应用
  • vue-ueditor-wrap上传图片报错:后端配置项没有正常加载,上传插件不能正常使用
  • 6个黑科技网站,永久免费
  • java中的string和stringbuff和stringBuilter
  • 【学习笔记】java项目—苍穹外卖day03
  • vscode安装
  • 生命周期钩子
  • 百度网站收录提交入口
  • 鸿鹄工程项目管理系统源码:Spring Boot带来的快速开发与部署体验
  • 分享一种快速移植OpenHarmony Linux内核的方法
  • 03Go 类型总结
  • Elasticsearch 参考指南(升级前重新索引)
  • ES6语法详解(一)
  • Javascript编码规范
  • Python语法速览与机器学习开发环境搭建
  • webpack项目中使用grunt监听文件变动自动打包编译
  • 程序员最讨厌的9句话,你可有补充?
  • 分享自己折腾多时的一套 vue 组件 --we-vue
  • 高度不固定时垂直居中
  • 记录:CentOS7.2配置LNMP环境记录
  • 爬虫进阶 -- 神级程序员:让你的爬虫就像人类的用户行为!
  • 使用权重正则化较少模型过拟合
  • 微信小程序--------语音识别(前端自己也能玩)
  • 译米田引理
  • 用Canvas画一棵二叉树
  • ​configparser --- 配置文件解析器​
  • #中国IT界的第一本漂流日记 传递IT正能量# 【分享得“IT漂友”勋章】
  • $.ajax中的eval及dataType
  • (1) caustics\
  • (11)MATLAB PCA+SVM 人脸识别
  • (Redis使用系列) SpringBoot 中对应2.0.x版本的Redis配置 一
  • (动手学习深度学习)第13章 计算机视觉---微调
  • (附源码)ssm高校实验室 毕业设计 800008
  • (附源码)ssm捐赠救助系统 毕业设计 060945
  • (区间dp) (经典例题) 石子合并
  • (全注解开发)学习Spring-MVC的第三天
  • (三)uboot源码分析
  • (三分钟了解debug)SLAM研究方向-Debug总结
  • (十五)Flask覆写wsgi_app函数实现自定义中间件
  • (十一)c52学习之旅-动态数码管
  • (一)Linux+Windows下安装ffmpeg
  • (一)Thymeleaf用法——Thymeleaf简介
  • (一)UDP基本编程步骤
  • (转)shell中括号的特殊用法 linux if多条件判断
  • .bat批处理(二):%0 %1——给批处理脚本传递参数
  • .NET : 在VS2008中计算代码度量值
  • .Net多线程总结
  • .net用HTML开发怎么调试,如何使用ASP.NET MVC在调试中查看控制器生成的html?
  • .net与java建立WebService再互相调用
  • @html.ActionLink的几种参数格式