我的应用程序中的"对话框"(我创建的视图看起来像一个视图,因为广告不适合正常的对话框)中有一个AdMob广告。通常情况下,加载广告大约需要4或5秒,由于它位于"对话框"中,用户很可能会在加载广告之前单击按钮(关闭对话框)
有没有一种方法可以预加载广告,以便在创建包含视图后立即显示?
我通过多次使用一个adview和多个活动来完成
它只加载一次,你可以在任何你想要的地方使用它,
它将按照给定的刷新率进行刷新。
在这里演示
您可能需要一些修改,但实际的想法已经实现了。
首先在另一个持久上下文中,创建admob的AdView并使用AdRequest加载广告。
然后,在DialogFragment的"onCreateView"中添加AdView。确保AdView已从以前的父视图中删除。
if (adView.getParent() != null) {
((ViewGroup) adView.getParent()).removeView(adView);
}
// Add the banner ad to the ad view.
adCardView.addView(adView);
所以你的问题是空的横幅空间?如果是这样的话,下面是一个避免空横幅空间的替代解决方案;
- 将AdMob横幅与占位符视图(如图像等)一起放在FrameLayout中
- 实现"public void onReceiveAd(广告广告)"来交换视图,因为你知道横幅已经到达
另一方面,
(我的浅见)从本质上讲,在Dialog内部有横幅并不是最好的地方。
我建议只将横幅放在"活动"主视图上,这是用户花费大部分时间的地方。