Skip to content

uni-app x vapor 模式下,Android 自定义 UTS 插件内的 AdView 已 load 成功但页面只显示 50 高空白区域,HBuilderX 5.23 异常,5.15 正常 #93

Description

@andyhong-sz

标题
uni-app x vapor 模式下,Android 自定义 UTS 插件内的 AdView 已 load 成功但页面只显示 50 高空白区域,HBuilderX 5.23 异常,5.15 正常

问题描述
项目是 uni-app x,运行在 vapor mode。
我们在 Android 端通过自定义 UTS 插件封装了 Google AdMob Banner AdView,页面侧使用 native-view 承载。

在 HBuilderX 5.23 下:

广告请求成功
AdView 已创建并测量出尺寸
onAdLoaded 已回调
页面上能看到 Banner 占位区域,但只有约 50 高度空白,没有实际广告内容绘制出来
回退到 HBuilderX 5.15 后,同一套 Banner 链路恢复正常显示。

使用环境

HBuilderX: 5.23 时异常,5.15 时正常
项目类型: uni-app x
渲染模式: vapor mode
平台: app-android
广告形式: Google AdMob Banner
承载方式: uvue + native-view + UTS Android 插件 + 原生 AdView
现象
在 5.23 下首页 Banner 区域会占位,但只显示一个空白条,高度约 50,广告内容不可见。

期望结果
AdView 成功加载后,Banner 应正常渲染显示,不应只出现空白占位区域。

实际结果
AdView 加载成功、尺寸正常、事件正常,但视觉上只有空白占位,没有广告内容。

关键日志
下面这些日志是异常版本下真实打印到控制台的:

Banner bridge updateConfig v4
Banner load dispatched on main thread v4
Banner view measured after load: width=960, height=150, adSize=320x50
Banner ad loaded
home banner loaded via Google AdMob / test / native
这说明:

桥接层调用成功
已切到主线程加载
原生 AdView 有尺寸
onAdLoaded 已触发
但最终没有实际绘制出来
已排查内容

已确认不是请求失败,Banner ad loaded 明确成功。
已确认不是主线程调用问题。
之前遇到过:
java.lang.IllegalStateException: #8 Must be called on the main UI thread.
这个问题已经通过把 loadAd、setAdSize、adListener 等逻辑切到 UI 线程解决。
已补过:
View.VISIBLE
requestLayout()
invalidate()
主线程创建 AdView
主线程销毁 AdView
页面侧也已把 Banner 宿主容器收敛为固定尺寸,排除了明显的布局塌陷问题。
回退到 HBuilderX 5.15 后,广告可以正常显示。
判断
目前看更像是:

HBuilderX 5.23
Android vapor mode
native-view
UTS 插件桥接原生 AdView
这一组合下的渲染兼容性问题,而不是业务代码本身的广告请求或布局逻辑问题。

最小复现建议
如果官方需要,我这边可以继续整理一个更小的复现:

新建 uni-app x vapor 项目
新增一个最小 UTS Android 插件
插件里创建原生 AdView
页面用 native-view 承载
在 5.23 与 5.15 对比运行结果
当前 workaround
回退到 HBuilderX 5.15 后可正常显示,作为临时规避方案。

你发帖时,建议再补两张图:

5.23 下的空白 Banner 截图
5.15 下正常显示的截图
这样 DCloud 更容易直接判断是渲染回归问题。
我也可以继续帮你把这份内容压成更短的论坛版,或者整理成“最小复现步骤版”。

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions