如何正确停止展示 AdMob 横幅广告?

Posted

技术标签:

【中文标题】如何正确停止展示 AdMob 横幅广告?【英文标题】:How to stop showing AdMob banner ad correctly? 【发布时间】:2020-03-17 17:05:50 【问题描述】:

我正在构建一个展示 AdMob 横幅广告的应用,当用户成功购买 IAP 商品后,横幅广告将永远不会再出现,原来横幅广告占用的屏幕区域将被应用真正占用功能。

问题是如何关闭bannerView 或者在下次启动时不对其进行初始化?以及如何确保 AdMob Sdk 永远不会在后台刷新广告内容?

我认为我们不能只用一个声明来隐藏bannerView:

bannerView.isHidden = true

而且,众所周知,AdMob SDK 使用 IDFA。但苹果会拒绝使用 IDFA 但不显示广告的应用。

Google 有关于如何展示广告的指南,但我找不到有关如何停止展示来自 Google 的广告的信息。

如何解决这个问题?

【问题讨论】:

【参考方案1】:

问题是如何关闭bannerView或不启动它 下一次启动?以及如何确保 AdMob Sdk 永远不会刷新 后台有广告内容?

有多种方法可以做到这一点。我能想到的一种方法是在您的 Xcode 项目中添加多个目标。

而且更简单、更实用的方法——至少对我而言,是阻止通过GADRequest() 发出的广告请求。

您甚至可以在 AppDelegate 中为您的 SDK 设置 ID。

就是这样。您也可以将 nil 设置为您的 bannerView 的 delegate 属性。

就像你提到的那样,只需隐藏bannerView的容器,一切都应该是完美的。我使用 Admob 开发过很多应用程序,我相信使用这种方法应该没有问题。

【讨论】:

谢谢你,@格伦。我在我的应用 Yes Calculator 中使用了你的方法,并获得了 App Store 的认可。 加油,迈克尔! @Glenn 几个问题:如果我想阻止 AdMob SDK 一起初始化(b/c 用户升级),那么我唯一的选择是为用户提供 AdMob 免费目标,然后强制更新应用?我对添加多个目标并不熟悉。此外,在调试模式下,AdMob 似乎仍然会在我确定是否要发出广告请求之前在应用程序启动时发送数据。我想我过于偏执了,作为应用程序用户,我希望如果我付费删除广告,Google 会从我这里获得零数据。

以上是关于如何正确停止展示 AdMob 横幅广告?的主要内容,如果未能解决你的问题,请参考以下文章

AdMob没有足够的空间来展示广告

Admob 广告收入

iAd 和 AdMob 广告未在已发布的 iPhone 应用程序中显示

使用 Singleton 的 AdMob 每次展示付费

unity 横幅广告 admob v5.3.0 不显示

无法显示 AdMob 横幅