收藏
回答

重大bug插屏广告报错导致黑屏,大量影响留存

框架类型 问题类型 API/组件名称 终端类型 微信版本 基础库版本
小游戏 Bug InterstitialAd 客户端 7.0.4 , 7.0.3 2.7.5

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



复现情况有两种,

1,看一次视频广告之后拉取插屏广告会出现这个问题。

2,不看视频第二次拉取插屏广告也会出现这个问题。


this.interAd = wx.createInterstitialAd({ adUnitId: id })

创建正常,前后打印都是正常的,

this.interAd.show()

.then(()=> console.log('interstitial show'))

.catch(err => console.log('interstitial err', err))

但是show的打印没有


- 预期表现

出现这个bug直接黑屏,出现过的手机基本100%复现,严重影响小游戏留存。

@官方

- 复现路径


- 提供一个最简复现 Demo

static showInterstitialAd(id: string)

{

let info = WxUtil.sdkInfo

if(WxUtil.compareVersionForWx(info.SDKVersion, '2.6.0') != -1)

{

// if(this.interAd)

// {

//     this.interAd.offClose()

//     this.interAd.offError()

//     this.interAd.offLoad()

// }

if(!Object.values)

{

Object.values = (obj)=>{

console.log('values test');

if(obj !== Object(obj))

throw new TypeError('ERROR : 运行环境不兼容')

var val = [],key;

for(key in obj)

{

if(Object.prototype.hasOwnProperty.call(obj,key)){

val.push(obj[key]);

}

}

return val;

}

}


console.log('Interstitial start');


this.interAd = wx.createInterstitialAd({ adUnitId: id })


console.log('Interstitial init');



this.interAd.show()

.then(()=> console.log('interstitial show'))

.catch(err => console.log('interstitial err', err))


// this.interAd.onLoad(()=>{


// })


// this.interAd.onError(()=>{


// })


// this.interAd.onClose(()=>{


// })

}

}


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

3 个回答

登录 后发表内容