微信小程序> 微信小游戏广告位iphonex底部适配问题

微信小游戏广告位iphonex底部适配问题

浏览量:861 时间: 来源:devilyouwei

最近在公司开发游戏,使用cocos creator做微信小游戏,遇到一个很恶心的问题,如图:

小程序

如图所示,微信的广告位被iphonex的底部bar给弹出了一点位置,没有靠在底部。

在这里不得不吐槽一下微信的小程序接口还有个恶心的地方,那就是他的广告style没有bottom,right属性,使得置底部必须使用算法计算。也就是winsize.height-广告高度(realheight),居中是winsize.width-广告宽度/2。

小程序

而就算如此,在Android和iphone普通手机上是没有适配问题的,完全居中靠底,而一到高贵的iPhonex上,就会出现广告位一会儿靠底部,一会又被底部黑色bar顶出一点位置,要解决这个蛋疼的问题,如下解决:

getWXFunction(name) {if(typeof(wx) == 'undefined' || wx == null) {return null;}return wx[name];}showBannerAd() {var wxFunc = this.getWXFunction('createBannerAd');if(typeof(wxFunc) != 'undefined' && wxFunc != null) {var phone = wx.getSystemInfoSync();console.log(phone);var w = phone.screenWidth / 2;var h = phone.screenHeight;let bannerAd = wxFunc({adUnitId: 'adunit-549b2e8b53ad8e21',style: {width: 300,//height:40,top: 0,left: 0}});bannerAd.onResize(function() {bannerAd.style.left = w - bannerAd.style.realWidth / 2 + 0.1;bannerAd.style.top = h - bannerAd.style.realHeight + 0.1;console.log(bannerAd);})bannerAd.show();return bannerAd;} else {return;}}

注意几点:

  1. 创建banner的默认位置不需要修改,反正也没用
  2. 在onresize中重置style来改变位置
  3. 使用realwidth和realheight作为相对位移(这两项必须是在banner已经创建完成的情况下)
  4. left和top都加上0.1,不加就会被iphonex该死的底部bar给顶上去,而且时而顶上去,时而又是正常,至今不知道为什么
  5. onresize之后再使用show方法将广告banner给show出来

版权声明

即速应用倡导尊重与保护知识产权。如发现本站文章存在版权问题,烦请提供版权疑问、身份证明、版权证明、联系方式等发邮件至197452366@qq.com ,我们将及时处理。本站文章仅作分享交流用途,作者观点不等同于即速应用观点。用户与作者的任何交易与本站无关,请知悉。

产品经理

手机 : 13312967497

擅长 : 小程序流量变现

扫码领取礼包

热门模板

  • 头条
  • 搜狐
  • 微博
  • 百家
  • 一点资讯
  • 知乎