收藏
回答

您没有设置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)

})


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

2 个回答

  • 社区技术运营专员-灵芝
    社区技术运营专员-灵芝
    2019-06-25

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


    2019-06-25
    赞同
    回复 9
    查看更多(4)
  • 陈凯敏
    陈凯敏
    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
    赞同
    回复
登录 后发表内容