微信小程序激励式视频广告组件使用

本文详细介绍如何在微信小程序中实现激励式视频广告,通过观看完整广告奖励用户积分,包括广告加载、显示、错误处理及积分下发流程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

微信小程序搜索:短视频去水印解析

目前微信小程序针对个人来说广告是最好的变现方式,广告主要分为:

1. Banner

2. 激励式视频

3. 插屏

Banner广告很简单,插入代码就可以显示

这里介绍下激励式视频广告实现(观看完整广告奖励积分):

//视频广告
let videoAd = null;
//视频广告拉取状态
let videoAdPushStatus = false;

Page({
  data: {
    //积分总数
    creditsAmountSum: 100
  },
  onLoad(options) {
    let that = this;

    that.videoAdShowSetting();
  },
  onShow() {
  },
  videoAdShowSetting: function() {
    var that = this;
    if (wx.createRewardedVideoAd) {
      videoAd = wx.createRewardedVideoAd({
        adUnitId: '自己申请的广告ID'
      })
      videoAd.onLoad(() => {
        //设置广告拉取成功
        videoAdPushStatus = true;
      });
      videoAd.onClose((status) => {
        if (status && status.isEnded || status === undefined) {
          //正常播放结束,可以下发奖励
          that.addUserCredits();
        } else {
          //不下发奖励
          wx.showModal({
            content: '广告未播放完成,无法获取积分',
            showCancel: false
          })
        }
      });
      videoAd.onError(() => {
        that.showToast('获取积分异常,请稍后重试');
      });
    }
  },
  //显示广告
  bindAddCredits: function() {
    let that = this;
    that.showVideoAd();
  },
  //视频广告
  showVideoAd: function() {
    let that = this;
    videoAd.load()
      .then(() => {
        //重置视频广告拉取状态
        videoAdPushStatus = false;
        videoAd.show();
      })
      .catch(err => {
        that.showToast('加载异常,请稍后重试...');
      });
  },
  addUserCredits: function() {
    let that = this;

    that.setData({
      creditsAmountSum: 10,
    });
    that.showSuccessToast('已获取积分+10');
  },
  showSuccessToast(title) {
    wx.showToast({
      title: title,
      icon: 'success',
      duration: 3000
    })
  },
  showToast(title) {
    wx.showToast({
      title: title,
      icon: 'none',
      duration: 2000
    })
  }
});

小程序体验:

 

 

 

 

### 微信小程序激励插件的创建、使用与集成 #### 插件概述 微信小程序中的激励广告是一种通过用户完成特定动作(如观看一段视频)来获取奖励的形。这种形不仅能够增加用户的参与度,还能为开发者带来额外收入。 #### 开通流量主服务 为了在小程序中集成激励广告,首先需要开通流量主服务。这一步骤可以在微信公众平台的小程序管理界面找到并按照指引完成设置[^1]。 #### 广告组件引入 一旦流量主审核通过,下一步是在项目文件`app.json`或页面配置文件中声明所需使用广告组件: ```json { "usingComponents": { "ad": "weixin-ad" } } ``` #### 页面布局调整 接着,在WXML模板里定义好放置广告的位置,并指定样类名以便后续控制显示隐藏状态: ```xml <!--index.wxml--> <button bindtap="showRewardVideoAd">看视频得金币</button> <ad unit-id="your_ad_unit_id" ad-type="rewardvideo" bindload="onRewardedVideoAdLoad" binderror="onRewardedVideoAdError" bindclose="onRewardedVideoAdClose"></ad> ``` #### JavaScript交互逻辑编写 最后也是最重要的部分——JavaScript代码实现了整个流程的核心业务逻辑。这里包含了初始化广告实例、监听事件以及处理回调函数等功能: ```javascript // index.js Page({ data: {}, onLoad() { this.rewardedVideoAd = wx.createRewardedVideoAd({ adUnitId: 'your_ad_unit_id' }); // 设置错误重试机制 let retryCountDown = null; const startRetryCountdown = () => { clearInterval(retryCountDown); let count = 5; // 延迟五秒再尝试重新加载 retryCountDown = setInterval(() => { console.log(`正在等待${count--}s`); if (count === 0) { clearInterval(retryCountDown); this.loadRewardVideoAd(); } }, 1000); }; this.rewardedVideoAd.onError(err => { console.error('激励视频 广告拉取失败', err); startRetryCountdown(); }); this.rewardedVideoAd.onClose(res => { // 用户点击了【关闭广告】按钮 if (!res.isEnded) { // 若用户中途退出,则不给予任何奖励 console.warn('未看完'); } else { // 否则正常发放奖励 console.info('已看完, 可以下发游戏币或其他奖励'); } setTimeout(() => { this.loadRewardVideoAd(); // 关闭之后再次预加载下一次展示所需的资源 }, 30 * 1000); // 这里的延迟时间可以根据实际情况调整 }); this.loadRewardVideoAd(); }, showRewardVideoAd() { try { this.rewardedVideoAd.show().catch(err => { if (err.errCode === 100007 || err.errMsg.includes('not ready')) { this.loadRewardVideoAd(); } }); } catch (e) {} }, loadRewardVideoAd() { this.rewardedVideoAd && this.rewardedVideoAd.load() .then(() => console.log('激励视频 广告加载成功')) .catch(e => console.error('激励视频 广告加载失败:', e)); } }); ``` 上述代码片段展示了如何在一个简单的场景下调用激励视频广告接口,并且针对可能出现的问题提供了相应的解决方案,比如当广告未能及时准备好时自动重载等措施。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值