我正在将iAd添加到我的应用中。现在,在模拟器中,它运行良好但是当我将它加载到设备(v4.1)上时, ADBannerViewDelegate 在上调用 bannerView:didFailToReceiveAdWithError: error.userInfo
{
ADInternalErrorCode = 3;
NSLocalizedFailureReason = "Ad inventory unavailable";
}
我认为我的iAd网络设置是正确的。我是自己添加广告还是iAd Network会自动发送测试广告?
编辑:我认为这是调度广告的iAd网络服务器的延迟问题。我想当网络上有我的应用广告时,它开始正常工作。答案 0 :(得分:5)
如果您使用开发证书运行,即使在设备上运行,您也只会获得测试广告。来自iAd Programming Guide:
在开发你的时候 应用程序,iAd网络发送测试 广告到您的申请。至 协助您验证您的 实施,iAd网络 偶尔会返回错误进行测试 你的错误处理代码。你也可以 测试你的错误处理支持 转动设备的无线功能 能力关闭。
因此,您应该在设备上看到测试广告,但您永远不会看到真实的实时广告。
答案 1 :(得分:3)
是的,从设备中移除应用并重建已解决了我的问题。
答案 2 :(得分:3)
调度广告的是iAd网络服务器的延迟问题。我想当网络上有我的应用广告时,它开始正常工作。
答案 3 :(得分:2)
在此之后对我来说不起作用,从设备中删除应用程序并进行干净的构建。
答案 4 :(得分:2)
只是一个额外的更新,在我的IPAD上运行广告测试我突然得到了这个错误,在敲打我的脑袋后(正如其他人已经做了一段时间)我注意到IPAD上的时间是8分钟,两者都设置为自动但仍然有8分钟的差异,手动设置IPAD时钟,错误就消失了!。
希望这有助于某人。
答案 5 :(得分:2)
根据Apple的文档iOS Developer Library的ADBannerView类引用:
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.
因此它是由iAd的服务器端引起的异常;不是代码本身。
答案 6 :(得分:1)
在过去的5天里,我遇到了同样的问题。之前我收到了有效的响应,并调用了bannerViewDidLoadAd委托方法。也许苹果方面有什么东西?我没有找到任何暗示的东西,但这是我的猜测