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

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);
          });
      });
    }
  },
});
相关推荐
BillKu15 分钟前
scss(sass)中 & 的使用说明
前端·sass·scss
疯狂的沙粒19 分钟前
uni-app 项目支持 vue 3.0 详解及版本升级方案?
前端·vue.js·uni-app
Jiaberrr28 分钟前
uniapp Vue2 获取电量的独家方法:绕过官方插件限制
前端·javascript·uni-app·plus·电量
谢尔登1 小时前
【React】React 18 并发特性
前端·react.js·前端框架
Joker`s smile1 小时前
使用React+ant Table 实现 表格无限循环滚动播放
前端·javascript·react.js
国家不保护废物1 小时前
🌟 React 魔法学院入学指南:从零构建你的第一个魔法阵(项目)!
前端·react.js·架构
import_random1 小时前
[机器学习]svm支持向量机(优势在哪里)
前端
国家不保护废物1 小时前
从刀耕火种到现代框架:DOM编程 vs Vue/React 进化史
前端·vue.js·react.js
陈随易1 小时前
Univer v0.8.0 发布,开源免费版 Google Sheets
前端·后端·程序员
不怎么爱学习的dan1 小时前
实现 ECharts 多国地区可视化方案
前端