You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Jetpack Compose 下 AdMob 横幅广告(AdView)无展示内容问题咨询

AdMob横幅广告无展示问题排查(Jetpack Compose场景)

1. 必须配置的基础项遗漏

  • 清单文件未添加必要权限,缺少权限会完全无法拉取广告:
<!-- 必须配置 -->
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
  • 未初始化AdMob SDK:必须在Application的onCreate生命周期中提前初始化,这个步骤不能省略:
MobileAds.initialize(this)

2. 现有代码的问题

  • 布局尺寸约束缺失:当前代码只给AdView设置了宽度约束,未设置高度,会导致父布局把广告区域高度挤压为0,需要补充高度适配逻辑。
  • 重复加载广告逻辑冲突:update回调会在每次Composable重组时触发广告加载,反复刷新会导致广告根本无法正常渲染,直接删除update块即可。

3. 其他校验项

  • 当前用的是官方测试ID是合规的,如果后续换成正式ID,需要确认AdMob后台已经绑定你应用的包名和签名信息,否则会返回无填充。
  • 排查具体错误可以开启AdMob调试日志,过滤Ads标签就能看到具体报错原因,比如配置错误、无广告填充等。

修正后的代码参考

@Composable
fun AdvertView(modifier: Modifier = Modifier) {
    AndroidView(
        modifier = modifier
            .fillMaxWidth()
            .wrapContentHeight(), // 补全高度适配
        factory = { context ->
            AdView(context).apply {
                adSize = AdSize.BANNER
                adUnitId = "ca-app-pub-3940256099942544/6300978111"
                loadAd(AdRequest.Builder().build())
            }
        }
        // 移除多余的update加载逻辑
    )
}

内容的提问来源于stack exchange,提问作者Valynk

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 12:36:02