Admob插页式广告无法隐藏状态栏问题技术咨询
Admob插页式广告状态栏无法隐藏的解决方案
- 主动控制状态栏显示时机
在插页式广告准备展示前,手动隐藏状态栏,并在广告关闭后恢复显示。以Android为例:
// 展示广告前隐藏状态栏 window.insetsController?.hide(WindowInsets.Type.statusBars()) // 设置广告关闭回调,恢复状态栏 interstitialAd.fullScreenContentCallback = object : FullScreenContentCallback() { override fun onAdDismissedFullScreenContent() { window.insetsController?.show(WindowInsets.Type.statusBars()) } }
检查广告单元配置
确认在Admob后台创建的是全屏插页式广告单元,而非自适应插页式。部分设备上自适应插页式可能不会强制覆盖状态栏。适配定制系统的状态栏行为
针对小米、华为等厂商的定制系统,需补充适配代码:- Android 11+ 动态设置全屏标记:
window.setFlags( WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN )- 在主题中配置全屏属性:
<style name="FullScreenAdActivityTheme" parent="Theme.AppCompat.Light.NoActionBar"> <item name="android:windowFullscreen">true</item> <item name="android:windowContentOverlay">@null</item> </style>确保展示广告的Activity使用该主题。
验证Activity的全屏状态
展示广告的Activity本身需处于全屏状态,避免因Activity状态栏默认可见,导致广告无法完全覆盖。
内容的提问来源于stack exchange,提问作者Artem Skorik
相关产品推荐
相关产品推荐

