收藏
回答

疑似基础库2.7.0的bug,小程序banner广告组件显示异常

问题模块 框架类型 问题类型 API/组件名称 终端类型 微信版本 基础库版本
API和组件 小程序 Bug ad 客户端 7.0.4 2.6.6/2.7.0

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




如图:左图SDK到了2.7.0,右图SDK还是2.6.6


- 预期表现




SDK2.6.6下ad组件显示正常


- 复现路径




SDK2.7.0下ad组件显示异常


- 提供一个最简复现 Demo


基础库2.7.0开发者工具还没有吧……怎么复现demo……


请官方人员给出回答,为什么在开发者工具未更新2.7.0的时候给部分手机推送了2.7.0?

最后一次编辑于  05-07
回答关注问题邀请回答
收藏

2 个回答

  • Peter潘
    Peter潘
    05-07

    请问小程序的appid是?

    05-07
    赞同
    回复 5
    • 曹阳
      曹阳
      05-07

      小程序APPID:wx7329fac1d8e81d9a

      还原回2.6.6基础库后ad组件显示正常了

      05-07
      回复
    • Peter潘
      Peter潘
      05-07回复曹阳

      2.6.6是没有问题的,麻烦贴一下你的小程序中<ad>标签的使用方式以及设置的样式,方便我们定位下问题

      05-07
      回复
    • 曹阳
      曹阳
      05-07回复Peter潘

      我用的是wepy框架,自己封装的common-ad组件:


      <template>
          <view class="c-common-ad" hidden="{{wxAd.hidden}}" style="height:{{height?(height*zoom)+'px':'auto'}}">
              <view class="c-common-ad-container" style="zoom:{{zoom}};display:{{zoom?'block':'none'}}">
                  <ad unit-id="{{wxAd.unitId}}" @load="handleWXAd" @error="handleWXAd"
                      id="{{wxAd.id}}"
                      wx:if="{{wxAd.unitId}}"></ad>
              </view>
          </view>
      </template>
      <style lang="less">
          .c-common-ad {
              margin: 20px;
          }
      </style>
      <script>
          import wepy from 'wepy'
          export default class CommonAd extends wepy.component {
              props = {
                  wxAd: {
                      type: Object,
                      twoWay: true,

                     default:{

                         hidden: false,

                         unitId: '',

                         margin: 0,

                         zoom: 0,

                         id: ''

                      }
                  }
              } 
              data = {
                  zoom: 0,
                  width: 0,
                  height: 0
              }
              methods = {
                  handleWXAd(e) {
                      let mining = this
                      switch (e.type) {
                          case 'error':
                              mining.wxAd.hidden = true
                              mining.wxAd.status = 'error'
                              break
                          default:
                              mining.wxAd.hidden = false
                              const query = wepy.createSelectorQuery()
                              query.select('#' + mining.wxAd.id).fields({
                                  computedStyle: ['width', 'height']
                              })
                              query.exec(function(res) {
                                  if (res[0]) {
                                      let { width, height } = res[0]
                                      mining.zoom = mining.getZoom(parseFloat(width.split('px')[0]))
                                      mining.width = (parseFloat(width.split('px')[0]))
                                      mining.height = (parseFloat(height.split('px')[0]))
                                      mining.wxAd.width = parseFloat(width.split('px')[0]) * mining.zoom
                                      mining.wxAd.height = parseFloat(height.split('px')[0]) * mining.zoom
                                      mining.wxAd.status = 'success'
                                      mining.$apply()
                                  }
                              })
                              break
                      }
                      mining.$apply()
                  }
              }  
              getZoom(width) {
                  let systemInfo = wepy.getSystemInfoSync()
                  let { windowHeight, windowWidth } = systemInfo
                  let rpx2px = 750 / windowWidth
                  let deviceWidth = this.wxAd.zoom * 750 || 750
                  let margin = (this.wxAd.margin === undefined) ? 40 : this.wxAd.margin
                  return (deviceWidth - margin) / rpx2px / width
              }
          }
      </script>


      05-07
      回复
    • Peter潘
      Peter潘
      05-07回复曹阳

      好的,我们处理下

      05-07
      回复
    • 曹阳
      曹阳
      05-08回复Peter潘

      现在我的手机SDK更新至2.7.0,体验版上的ad组件显示正常(什么时候开发者工具能同步?还是说在灰度测试?)

      05-08
      回复
  • 社区技术运营专员-灵芝
    社区技术运营专员-灵芝
    05-07

    你好,是所有2.7.0的基础库版本的手机都有这个问题吗?

    05-07
    赞同
    回复 4
    • 曹阳
      曹阳
      05-07

      你好,目前只发现了我的手机SDK变成了2.7.0,公司其他人的手机大部分还是2.6.6,我再找找

      05-07
      回复
    • 社区技术运营专员-灵芝
      社区技术运营专员-灵芝
      05-07回复曹阳

      正式版的有这个问题么?

      05-07
      回复
    • 曹阳
      曹阳
      05-07回复社区技术运营专员-灵芝

      我的正式版没有给我的手机推送广告,所以不清楚。

      不过2.6.6的正式版显示都正常。

      05-07
      回复
    • 曹阳
      曹阳
      05-07回复社区技术运营专员-灵芝

      我的手机基础库又还原回2.6.6了,ad组件显示正常

      05-07
      回复