10

我正在将 iAd 添加到我的应用程序中。现在,在模拟器中,它运行良好,但是当我将它加载到设备(v4.1)上时,ADBannerViewDelegate调用bannerView:didFailToReceiveAdWithError:并在error.userInfo上进行此描述

{
    ADInternalErrorCode = 3;
    NSLocalizedFailureReason = "Ad inventory unavailable";
}

我认为我的 iAd 网络设置是正确的。我是自己添加广告还是 iAd Network 像在模拟器中一样自动发送测试广告?

编辑:我认为这是分发广告的 iAd 网络服务器的延迟问题。我想当网络为我的应用程序投放广告时,它开始正常工作。

4

7 回答 7

5

如果您使用开发证书运行,即使在设备上运行,您也只会获得测试广告。来自iAd 编程指南

在您开发应用程序时,iAd Network 会向您的应用程序发送测试广告。为了帮助您验证您的实施,iAd 网络有时会返回错误以测试您的错误处理代码。您还可以通过关闭设备的无线功能来测试您的错误处理支持。

因此,您应该会在设备上看到测试广告,但您永远不会看到真正的直播广告。

于 2010-09-15T19:31:17.760 回答
3

这是分发广告的 iAd Network 服务器的延迟问题。我想当网络为我的应用程序投放广告时,它开始正常工作。

于 2012-07-03T06:48:51.043 回答
3

是的,在我的情况下,从设备中删除应用程序并重建解决了它。

于 2010-11-02T22:43:41.523 回答
2

只是一个额外的更新,在我的 IPAD 上运行广告测试我突然收到了这个错误,在敲了我的头(就像其他人所做的那样)一段时间后,我注意到 IPAD 上的时间是 8 分钟,两者都设置为自动但仍然是 8分钟差异,手动设置 IPAD 时钟,错误就消失了!

希望这可以帮助某人。

于 2011-06-30T19:54:23.197 回答
2

在这对我不起作用之后,从设备中删除应用程序并进行干净的构建。

于 2010-10-12T16:33:25.153 回答
2

According to the ADBannerView class reference of Apple's documantation iOS Developer Library:

enum {
ADErrorUnknown = 0,
ADErrorServerFailure = 1,
ADErrorLoadingThrottled = 2,
ADErrorInventoryUnavailable = 3,
ADErrorConfigurationError = 4,
ADErrorBannerVisibleWithoutContent = 5,
ADErrorApplicationInactive = 6
};
typedef NSUInteger ADError;

//ADErrorInventoryUnavailable
//Indicates that no advertisements are currently available to download.
//Available in iOS 4.0 and later.
//Declared in ADBannerView.h.

Therefore it is an exception caused by the server side of the iAd; not the code itself.

于 2013-08-28T09:11:15.570 回答
1

在过去的 5 天里,我一直遇到同样的问题。在此之前我得到了一个有效的响应,并且调用了 bannerViewDidLoadAd 委托方法。也许苹果那边有什么东西?我没有找到任何暗示,但这是我的猜测

于 2010-11-10T14:48:36.517 回答