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

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);
          });
      });
    }
  },
});
相关推荐
xkxnq14 分钟前
第一阶段:Vue 基础入门(第 14天)
前端·javascript·vue.js
前端小臻14 分钟前
列举react中类组件和函数组件常用到的方法
前端·javascript·react.js
筱歌儿19 分钟前
TinyMCE-----word表格本地图片转base64并上传
前端·word
0思必得020 分钟前
[Web自动化] Selenium简单使用
前端·python·selenium·自动化·web自动化
2301_8187320622 分钟前
下载nvm后,通过nvm无法下载node,有文件夹但是为空 全局cmd,查不到node和npm 已解决
前端·npm·node.js
赵民勇24 分钟前
JavaScript中的this详解(ES5/ES6)
前端·javascript·es6
hhcccchh24 分钟前
学习vue第九天 计算属性与侦听器
前端·vue.js·学习
我的golang之路果然有问题27 分钟前
Mac 上的 Vue 安装和配置记录
前端·javascript·vue.js·笔记·macos
代码游侠30 分钟前
应用——Linux FrameBuffer图形显示与多线程消息系统项目
linux·运维·服务器·开发语言·前端·算法
说私域37 分钟前
留量为王,服务制胜:开源链动2+1模式、AI智能名片与S2B2C商城小程序的协同创新路径
人工智能·小程序·开源