iAd 横幅显示在模拟器上,但不显示在设备上

Posted

技术标签:

【中文标题】iAd 横幅显示在模拟器上,但不显示在设备上【英文标题】:iAd banner is displayed on simulator but not on device 【发布时间】:2012-11-15 05:52:12 【问题描述】:

我正在开发我的 iPhone 应用程序,并且我在应用程序的所有视图中集成了 iAd 横幅,共享在应用程序委托上创建的唯一横幅对象。

我能够在模拟器上显示 iAd 测试横幅并且它工作正常,但是当我尝试从 Xcode 在 iPhone 3GS ios 5.1 上安装该应用程序时,根本不会显示 iAd 测试横幅。在横幅委托 didFailToReceiveAdWithError 上,我一直收到以下错误:

Error Domain=ADErrorDomain Code=3 "无法完成操作。广告资源不可用" UserInfo=0x58dd80 ADInternalErrorCode=3, NSLocalizedFailureReason=广告资源不可用

这正常吗?

【问题讨论】:

iAd works on simulator but not on device的可能重复 【参考方案1】:

我对 iPad 也有同样的问题。我正在运行带有 iOS 4.3 的 iPad 2,并收到“无法完成操作。广告资源不可用”。每次出错。我在模拟器中进行了尝试,对于在 iPad 上运行的每个可用 iOS,我都收到了错误消息。我应该注意到它是在 iPad 上运行的 iPhone 应用程序——我不知道这是否与事情有关。所以我的想法是,也许 iAds 不能在 iPad 上运行的 iPhone 应用程序中运行......希望我能给你一个更具体的答案,如果我得到一个,我会尝试回来发布。也很感激听到你的发现。

编辑: 我刚刚发现了这份技术说明,其中包含有关在 iPad 上以兼容模式运行的 iPhone 应用程序的信息: “在 iPad 上以兼容模式运行的手机应用程序不会在开发中显示测试广告,也不会在兼容环境中运行的已部署应用程序中显示实时广告。为确保您的应用程序能够为所有客户显示 iAd 横幅,请确保您已经开发了一个支持所有可能设备的应用程序。” http://developer.apple.com/library/ios/#technotes/tn2264/_index.html

【讨论】:

【参考方案2】:

是的,这看起来很正常。这意味着您的应用没有足够的广告资源。也许库存很少,或者您的特定区域没有库存。

如果您希望为您的应用提供更多广告资源,我建议您使用像 AdMob mediation 这样的广告中介系统。

【讨论】:

谢谢@ThomasW,说得通,我来自墨西哥,我已经在我的应用程序中集成了两者,我使用 iAd 作为默认设置和 AdMob 作为备份,只是与代表一起玩的问题在适当的时候隐藏和显示横幅。我只担心无法在真实设备上显示测试 iAd……我只是想知道这是否正常。感谢您的宝贵时间。 @IvanCastaneda 如果您使用 AdMob 中介(或类似系统),它支持自动在两个广告网络之间切换。此外,您可以添加可能更适合您所在位置的其他网络,如果您的应用针对特定区域设置,这可能尤其合适。【参考方案3】:

“在 iPad 上以兼容模式运行的 iPhone 应用将不会显示开发中的测试广告或在兼容环境中运行的已部署应用中的实时广告。”

来自技术说明 TN2264。

【讨论】:

以上是关于iAd 横幅显示在模拟器上,但不显示在设备上的主要内容,如果未能解决你的问题,请参考以下文章

iAd 显示在模拟器中,但不在设备上

测试 iAd 在模拟器、iPhone 设备而不是 iPad 设备上显示

如何在不同的 SpriteKit 场景中显示 iAd 横幅

开发者设备上的 iAd 未显示,“准备出售”后仍然是开发者模式

在 Swift 中的标签栏上方显示 iAd 横幅

带有 iAd 横幅的 UITableView 上的奇怪溢出