显示插屏广告的方法经常报错

发布于 6 年前作者 jie6511205 次浏览最后编辑 6 年前来自 ask
  • 代码
let intsetAd = wx.createInterstitialAd({
      adUnitId: 'adunit-6782f5dc36d498e4'
})
intsetAd.show().then(() => {//出错行view.js:749
      if (!page.data.adFlag){
        page.setData({ adFlag: 1 })
      }
}).catch(err => {
      console.log(err.errMsg)
      page.setData({ adFlag: 2 })
})

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

Object.values is not a function. (In ‘Object.values(ub.show)’, ‘Object.values’ is undefined);at pages/item/view page adInsert function<https://lib/WAService.js:1:738513&gt;&gt;&gt;Im@&lt;&lt;&lt;FLOATING LINK: https://lib/WAService.js:1:738574&gt;&gt;&gt;value@&lt;&lt;&lt;FLOATING LINK: https://lib/WAService.js:1:745315&gt;&gt;&gt;adInsert@&lt;&lt;&lt;FLOATING LINK: https://pages/item/view.js:749:14&gt;&gt;&gt;&lt;&lt;&lt;FLOATING LINK: https://lib/WAService.js:1:1007171>

3 回复
usun
usun1 楼6 年前

同样遇到,现象一模一样

xiulantian
xiulantian2 楼6 年前

试一试将 createInterstitialAd 创建广告实例放到页面 onLoad 中,并监听该实例onLoad、onError事件,

成功加载到广告后再调用 show() 方法

xia81
xia813 楼5 年前

之前也遇到了这个问题。后来发现这是一个兼容性问题。在show之前加一个兼容处理就没事了。