目录
微信小程序创建项目配置底部导航栏 微信小程序滚动播放内容 微信小程序功能中心模块开发 微信小程序个人中心页面开发 微信小程序获取电话号码 微信小程序显示列表数据 微信小程序显示分页列表 微信小程序添加插屏广告 微信小程序添加激励式广告
最终效果可扫码查看 遇到问题可通过公众号留言反馈
如果小程序用户数大于一千,可以申请流量主,则能够添加广告内容。 激励式广告的微信说明为
// 在页面中定义激励视频广告
let videoAd = null
// 在页面onLoad回调事件中创建激励视频广告实例
if (wx.createRewardedVideoAd) {
videoAd = wx.createRewardedVideoAd({
adUnitId: 'adunit-e7cb039788774b1b'
})
videoAd.onLoad(() => {})
videoAd.onError((err) => {})
videoAd.onClose((res) => {})
}
// 用户触发广告后,显示激励视频广告
if (videoAd) {
videoAd.show().catch(() => {
// 失败重试
videoAd.load()
.then(() => videoAd.show())
.catch(err => {
console.log('激励视频 广告显示失败')
})
})
}
开发
开发步骤和微信说明的一致,不同的是如何判断用户已经看完视频了可以领取奖励。文档https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/ad/rewarded-video-ad.html有介绍,直接在onClose里面判断即可。
第一部分,直接写到js文件的第一行。 第二部分,写到js文件的onLoad方法中。 第三部分,点击需要播放视频的按钮或者逻辑处调用。
代码使用已经开发好的更多功能页面,在此基础上进行修改。之前的介绍为https://blog.csdn.net/m0_58095675/article/details/121073047?spm=1001.2014.3001.5501
只修改了js文件,其他文件无变化
// 在页面中定义激励视频广告
let videoAd = null;
Page({
data: {
list:[],
list2:[],
background: ['demo-text-1', 'demo-text-2', 'demo-text-3'],
indicatorDots: false,
vertical: true,
autoplay: true,
circular: true,
interval: 2000,
duration: 500,
previousMargin: 0,
nextMargin: 0
},
onLoad() {
// 在页面onLoad回调事件中创建激励视频广告实例
if (wx.createRewardedVideoAd) {
videoAd = wx.createRewardedVideoAd({
adUnitId: 'adunit-e7cb039788774b1b'
})
videoAd.onLoad(() => {})
videoAd.onError((err) => {})
videoAd.onClose((res) => {if (res && res.isEnded) {
// 正常播放结束,可以下发游戏奖励
var url = 'http://yr.lootaa.com/location/remind/add?openid=' + wx.getStorageSync("openid") + '&unionid=' + wx.getStorageSync("unionid");
wx.request({
url: url,
success(res) {
console.log(res.data.data)
if (res.data.code != 200) {
wx.showToast({
title: res.data.message,
})
} else {
wx.showToast({
title: '订阅提醒成功',
})
}
}
})
} else {
// 播放中途退出,不下发游戏奖励
wx.showToast({
icon: 'loading',
title: '订阅提醒失败',
})
}})
}
var that = this;
wx.request({
url: 'http://yr.lootaa.com/ship/time/todayEnd',
success (res) {
that.setData({
list: res.data.data.data
})
console.log(res.data.data.data)
}
})
wx.request({
url: 'http://yr.lootaa.com/time/channel/lately',
success (res) {
that.setData({
list2: res.data.data
})
console.log(res.data.data)
}
})
},
dingyue: function (e) {
var mobile = wx.getStorageSync('mobile');
var openid = wx.getStorageSync('openid');
var unionid = wx.getStorageSync('unionid');
if(!mobile && !openid && !unionid) {
wx.showModal({
title: '提示',
content: '您尚未登录,是否进入登录页面?',
success: function (res) {
if (res.confirm) {
wx.switchTab({
url: '../mine/mine'
})
} else {
console.log('用户点击取消')
}
}
})
} else {
wx.showModal({
title: '提示',
content: '请确保您已关注了公众号“洛塔志达”,我们将以公众号消息的形式向您推送截关提醒。此次提醒将续期7天。',
success: function (res) {
if (res.confirm) {
// 用户触发广告后,显示激励视频广告
if (videoAd) {
videoAd.show().catch(() => {
// 失败重试
videoAd.load()
.then(() => videoAd.show())
.catch(err => {
console.log('激励视频 广告显示失败')
})
})
}
} else {
console.log('用户点击取消')
}
}
})
}
}
})