4

我制作了一个使用 iAd的iPhone 应用程序。在 iPhone 模拟器和设备上它工作正常。它已经在 App Store 上。

今天,我的一位客户告诉我,iAd 没有出现在 iPad 上。所以我在 iPad 模拟器上构建了我的应用程序,但它没有出现,而 iPhone 模拟器/iPhone 设备按预期工作。

在显示某些内容之前,我从不测试它是哪个设备,所以这不可能是错误。

这个没有显示任何错误:- (void)bannerView:(ADBannerView *)banner didFailToReceiveAdWithError:(NSError *)error

有任何想法吗?

4

3 回答 3

7

如果你想使用 iAd,你几乎需要成为一个通用的应用程序。我的仅 iPhone 的 iAd 应用程序在 iPad 上以兼容模式(在模拟器或真实 iPad 上)运行时会调用 bannerViewDidLoadAd,但随后会显示空白而不是广告。Apple“iAd 实施最佳实践”文档说:

Create Universal Apps

To ensure your app is capable of displaying iAd banners for all your users, 
make sure you’ve developed a universal app that supports all possible devices. 
**iPhone apps running in compatibility mode on iPad will not display a test ad
in development or live ads in deployed apps.**

https://developer.apple.com/library/ios/technotes/tn2264/_index.html

于 2013-10-03T03:20:35.970 回答
6

我有一个类似的问题。对我来说唯一的解决方案是使应用程序通用。一旦应用程序通用,iAd 就会开始工作。

您可能会注意到,即使是来自 Apple 的 iAds 套件中的一些应用程序也无法正常工作。他们在这里的描述中提到了这方面的一些东西:

http://developer.apple.com/library/ios/#samplecode/iAdSuite/Introduction/Intro.html

BasicBanner 和 ContainerBanner 配置为同时支持 iPhone 和 iPad 惯用语,TabbedBanner 和 NavigationBanner 仅支持 iPhone 惯用语,SplitViewBanner 仅支持 iPad 惯用语。

我发现的唯一区别是通用与 iPhone 应用程序设置(目标->摘要->设备组合框)。

然而,如果我没记错的话,我的- (void)bannerView:(ADBannerView *)banner didFailToReceiveAdWithError:(NSError *)error被称为。错误是说没有可用的 iAds。

另外,我只在 iOS5(模拟器和设备)上尝试过。

希望这会对您有所帮助;)

更新:如果您使用的是一些较旧的 SDK,还要检查这个 SO 问题: iPad 应用程序不提供 iAds 吗?

于 2012-04-22T14:43:49.383 回答
0

作为替代答案,这对我有用……因为我忘记了。很久以前,我在“设置/开发者”页面中将 iAds 的填充率设置为 0%……DOOH!

所以请在那里三重检查。

于 2015-06-16T01:41:34.853 回答