收藏
回答

您没有设置onError函数,该函数用于处理广告拉取的异常。请至少处理两种情况:

框架类型 问题类型 API/组件名称 终端类型 微信版本 基础库版本
小游戏 Bug wx.createRewardedVideoAd 客户端 最新版 最新版

- 当前 Bug 的表现(可附上截图)


- 预期表现

应该正常,不报错

- 复现路径

必现

- 提供一个最简复现 Demo

this.videoAd.load()

.then(() => this.videoAd.show())

.catch(err => {

console.log(err.errMsg)

this.videoAd.load()

.then(() => this.videoAd.show())

})

this.videoAd.onClose(res => {

// 用户点击了【关闭广告】按钮

// 小于 2.1.0 的基础库版本,res 是一个 undefined

if (res && res.isEnded || res === undefined) {

// 正常播放结束,可以下发游戏奖励

console.log("正常播放结束,可以下发游戏奖励")

this.gameinfo.resetLifeNumber()

this.gameinfo.resetView(ctx)

} else {

// 播放中途退出,不下发游戏奖励

console.log("播放中途退出,不下发游戏奖励")

}

})

this.videoAd.onError(err => {

console.log(err)

})


回答关注问题邀请回答
收藏

3 个回答

  • 伟
    2023-03-23

    我说说我这边的规避方法,官方的激励视频分为三个部分,定义变量、初始化视频、显示视频,三块代码。如果按照官方建议,那么当在父子页面都存在激励视频时,必然会出现问题,会导致子页面无法正常加载并且返回父页面后父页面也无法正常加载。我采用的规避方法,其实也非常简单,就是将:初始化视频和显示视频的代码,全部放在显示代码逻辑里面,不要拆开,不过这样用户体验上稍微差一点点,毕竟初始化正常要1-2秒,好在这个规避后问题不再存在。

    2023-03-23
    有用
    回复
  • 陈凯敏
    陈凯敏
    2019-07-30

    问题我已经自己解决,说明下解决办法:

    (1)初始化:

    this.videoAd = wx.createRewardedVideoAd({

    adUnitId: ''

    })

    this.videoAd.onError(err => {

    console.log(err)

    })

    (2)获取:

    this.videoAd.load()

    .then(() => this.videoAd.show())

    .catch(err => {

    console.log(err.errMsg)

    this.videoAd.load()

    .then(() => this.videoAd.show())

    })

    this.videoAd.onClose(res => {

    // 用户点击了【关闭广告】按钮

    // 小于 2.1.0 的基础库版本,res 是一个 undefined

    if (res && res.isEnded || res === undefined) {

    // 正常播放结束,可以下发游戏奖励

    console.log("正常播放结束,可以下发游戏奖励")

    } else {

    // 播放中途退出,不下发游戏奖励

    console.log("播放中途退出,不下发游戏奖励")

    }

    })

    说明:

    之前把onError放在了“(2)获取”里面执行,会报这个错误

    2019-07-30
    有用
    回复
  • 灵芝
    灵芝
    2019-06-25

    意思是设置了onError函数还有这个提示?


    2019-06-25
    有用
    回复 9
    查看更多(4)
登录 后发表内容