- 插屏广告导致页面卡死
如题,在安卓设备上如代码片段所示,页面 onShow 的生命周期中展示插屏广告,会导致当前小程序页面卡死无法继续操作。 测试中发现插屏广告的生命周期大致为以下几种情况,不一定准确: wx.createInterstitialAd => InterstitialAd.onError,插屏广告加载失败;wx.createInterstitialAd => InterstitialAd.onLoad => InterstitialAd.show => 插屏广告展示成功 => InterstitialAd.onClose(自动调用 InterstitialAd.load) => InterstitialAd.onLoad => 下次调用 InterstitialAd.show;wx.createInterstitialAd => InterstitialAd.onLoad => InterstitialAd.show => 插屏广告展示失败 => 下次调用 InterstitialAd.show;代码片段中,对插屏广告的生命周期进行了输出,测试了触发小程序页面卡死情况下的插屏广告生命周期回调情况。 正常未触发小程序页面卡死的插屏广告生命周期如下图: [图片] 非正常而触发小程序页面卡死的插屏广告生命周期如下图: [图片] 对比发现触发小程序页面卡死的插屏广告生命周期中,比正常插屏广告生命周期在调用 InterstitialAd.show 展示广告前,触发了一次 InterstitialAd.onClose 回调,紧接着 InterstitialAd.show 成功展示广告,此时展示的插屏广告无法关闭,页面无法继续操作。 代码片段中对 InterstitialAd.show 使用 setTimeout 包裹,延迟展示广告,则不会触发小程序页面卡死(即上图的正常生命周期情况),去掉 setTimeout 将出现小程序页面卡死的情况(上图非正常生命周期情况)。 PS:测试时使用的 AppId 为 wx11c19d093666697b
2021-09-13 - 小程序scanCode 有没有类似jssdk里面扫码的needResult这个功能
在小程序中调用scanCode扫描公众号二维码会触发公众号的消息推送,所以想问问能不能做到像公众号里面通过needResult控制扫描结果处理 wx.scanQRCode({ desc: 'scanQRCode desc', needResult: 0, // 默认为0,扫描结果由微信处理,1则直接返回扫描结果, scanType: ["qrCode","barCode"], // 可以指定扫二维码还是一维码,默认二者都有 success: function (res) { // 回调 } error: function(res){ if(res.errMsg.indexOf('function_not_exist') > 0){ alert('版本过低请升级') } } });
2020-04-26