收藏
回答

激励视频offClose

激励视频的RewardedVideoAd.offClose(function callback) 这个API是怎么用的我这样用一直报错

this.video.offClose( ()=>{
 
     console.log('关闭激励视频关闭按钮监听');
});


报错信息:


当改成这样以后就不报错了

function ins(){
    console,log('关闭激励视频关闭按钮监听');
}
this.video.offClose( ins() );

但是这个api并没有关闭监听。请问有人遇到过类似的情况吗,能帮忙解答一下吗

我用的是egret

最后一次编辑于  2019-06-24
回答关注问题邀请回答
收藏

2 个回答

  • Peter潘
    Peter潘
    2019-06-24

    offClose的参数必须是用onClose方法绑定过的方法,否则会报错。调用offClose的时候传入绑定方法的引用即可

    2019-06-24
    赞同
    回复 1
    • 🚦
      🚦
      2019-06-24

      能帮忙写个示例吗,拜托了

      2019-06-24
      回复
  • 🚦
    🚦
    2019-06-24

    希望看到的大佬帮忙解答一下,挺急的

    2019-06-24
    赞同
    回复 4
    • black & blue
      black & blue
      2019-07-03
      let videoAd = wx.createRewardedVideoAd({
      adUnitId: adUnitId
      });

      try{

      if(videoAd.closeFunc){

      videoAd.offClose(videoAd.closeFunc);
         }
      } catch (e) {
      console.warn("--------------videoAd.offClose error:");
         console.error(e);

      }


      videoAd.closeFunc = function (res) {
      // 用户点击了【关闭广告】按钮
         // 小于 2.1.0 的基础库版本,res 是一个 undefined
         console.warn("播放完毕",res);
         if (res && res.isEnded || res === undefined) {
      // 正常播放结束,可以下发游戏奖励
             if(_success) _success();
         } else {
      if(_cancel) _cancel();
         }
      };
      videoAd.onClose(videoAd.closeFunc);
      videoAd.show().catch(() => {
      // 失败重试
         videoAd.load()
      .then(() => videoAd.show())
      .catch(err => {
      console.log('激励视频 广告显示失败')
      })
      });

      我是这样写的,  官方没个demo也是醉了,  还得自己去摸索, 腾讯干的不地道

      2019-07-03
      2
      回复
    • 喜闻乐见
      喜闻乐见
      2019-08-31回复black & blue
      有解决吗?麻烦分享下,卡了几天了
      2019-08-31
      回复
    • black & blue
      black & blue
      01-03回复喜闻乐见
      解决方法就是上面贴的
      01-03
      回复
    • 着什么急
      着什么急
      03-21回复black & blue
      感谢楼主,有个类似的问题困扰我2天了,终于搞定了!
      03-21
      回复
登录 后发表内容