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

Android Fragment中初始化AdMob广告的正确方式及初始化次数疑问

AdMob初始化实现问题解答

1. 你的代码实现是否正确?

这段代码语法层面是合法的,能完成AdMob的初始化操作,但从Android开发最佳实践来看,有两处可以优化:

  • MobileAds.initialize()支持通过回调监听初始化完成状态,建议加上这个逻辑,避免在初始化未完成时加载广告引发异常,示例代码:
@Override 
public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) { 
    super.onViewCreated(view, savedInstanceState); 
    MobileAds.initialize(getActivity(), initializationStatus -> {
        // 初始化完成后再执行广告加载相关逻辑
    }); 
}
  • 更推荐将初始化逻辑放在自定义Application类的onCreate()方法中,而非Fragment的onViewCreated()。因为Application的生命周期是全局唯一且最先启动的,能确保所有页面在使用广告前,AdMob服务已经完成初始化。

2. 是否需要在每个Fragment中重复初始化?

不需要,MobileAds.initialize()只需要全局调用一次就会生效。如果仅在单个Fragment中初始化,当这个Fragment从未被加载过时,AdMob服务就不会被初始化,会导致其他页面的广告无法正常加载。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.14 23:35:21