小程序激励广告视频多次回调问题

1.问题

2. 激励视频使用及解决方案

官方文档

javascript 复制代码
let videoAd = null; // 在页面中定义激励视频广告
Page({
  /**
   * 页面的初始数据
   */
  data: {},

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {
    let that = this;
    // 创建激励视频广告实例
    if (wx.createRewardedVideoAd) {
      videoAd = wx.createRewardedVideoAd({
        adUnitId: 'xxx',
      });

      //解决多次事件回调
      try {
        if (videoAd.closeHandler) {
          videoAd.offClose(videoAd.closeHandler);
          //   console.log("videoAd.offClose卸载成功");
        }
      } catch (e) {
        // console.log("videoAd.offClose 卸载失败");
        console.error(e);
      }
      videoAd.closeHandler = function (res) {
        // 用户点击了【关闭广告】按钮
        if ((res && res.isEnded) || res === undefined) {
          // 正常播放结束,可以下发游戏奖励
          console.log('正常播放完成',res)
        } else {
          //提前关闭小程序
          console.log('中途退出', res);
        }
      };
      videoAd.onClose(videoAd.closeHandler);
    }
  },

  onShowVideo() {
    // 用户点击后,显示激励视频广告
    if (videoAd) {
      videoAd.show().catch((err) => {
        // 失败重试
        videoAd
          .load()
          .then(() => videoAd.show())
          .catch((err) => {
            console.error('激励视频 广告显示失败', err);
          });
      });
    }
  },
});
相关推荐
kyriewen6 小时前
Webpack vs Vite:一个是“老黄牛”,一个是“猎豹”,你选谁?
前端·webpack·vite
打小就很皮...6 小时前
html2canvas + jsPDF 生成 PDF 的踩坑与解决方案总结
前端·pdf
全栈前端老曹6 小时前
【前端地图】多地图平台适配方案——高德、百度、腾讯、Google Maps SDK 差异对比、封装统一地图接口
前端·javascript·百度·dubbo·wgs84·gcj-02·bd09
程序鉴定师6 小时前
深圳小程序制作哪家好?2026深度市场分析与选择指南?
大数据·小程序
雾岛听风6916 小时前
JavaScript基础语法速查手册
开发语言·前端·javascript
遇见~未来6 小时前
第三篇_现代布局_从弹性到网格
前端·css3
前端那点事6 小时前
Vue前端SEO优化全攻略(实操落地版,新手也能上手)
前端·vue.js
河北清兮网络科技6 小时前
广告联盟全解析:从开发接入到运营优化,多视角拆解流量变现逻辑
小程序·app
Dxy12393102167 小时前
HTML 如何使用 SVG 画曲线
前端·算法·html
用户2367829801687 小时前
从零实现 GIF 制作工具:LZW 压缩与 Median Cut 色彩量化
前端·javascript