我想最终找到解决我将在这里描述的“问题”的方法。
我在 Android 应用中使用 AdMob 广告。我按照以下推荐的方式创建它们:
override fun initAds(activity: Activity, adLayout: LinearLayout) {
adLayout.removeAllViews()
val uiAdView = AdView(activity)
uiAdView.setAdSize(getAdSize(activity))
uiAdView.adUnitId = // AD UNIT ID HERE
adLayout.addView(uiAdView)
uiAdView.loadAd(prepareAdRequest())
}
这样,广告就会按预期加载 - 几秒钟后,广告就会显示出来(加载广告需要一些时间)。但是,如果我转到另一个活动,过程是相同的,因此有几秒钟广告不会显示。有人可以提供更好的方法来解决这个问题吗?所有 AdMob 指南或多或少都建议使用我所描述的方法,但我怀疑这是处理广告的最佳方法。
我考虑过将 initAds 放入应用程序(单例)类中,使其在任何地方都可用,这样我就可以为不同的活动获取相同的 adView。但是,AdView 创建需要上下文,因此这是行不通的。
另一种方法是使用片段完全重新实现应用程序,并且只有一个 Activity,这将创建 AdView,但是我无法重新实现整个应用程序。谢谢您的想法和建议。
我的方法是一样的。如果您将整个应用程序重新实现为具有多个片段的单个活动,那么您将面临同样的问题。或者您可以将所有横幅放在主要活动中...