我正在尝试将iAdSuite中的
NavigationBanner
示例引入到我的项目中,以便在多个视图控制器中共享单个AdBannerView
实例,但是我一直收到以下错误消息:
Error Domain=ADErrorDomain Code=2 "The operation couldn’t be completed. Loading throttled
我已经完全复制了当前iAdSuite中的相关代码到我的应用程序中,并且仍然出现此错误。实际上,在苹果自己的iAdSuite示例中,即导航横幅(我正在尝试实现的示例),也会出现此错误。可以通过添加以下内容看到此错误:NSLog (@"%@",error);
to:
- (void)bannerView:(ADBannerView *)banner didFailToReceiveAdWithError:(NSError *)error
要重现iAdSuite中的问题,请按照以下步骤操作:
- 将您的设备飞行模式打开
- 从Xcode启动iAdSuite NavigationBanner。这会立即生成一个错误 "ADErrorDomain error 1"。
- 通过按下设备上的主屏幕按钮退出应用程序,然后关闭飞行模式。
- 通过点击图标重新启动NavigationBanner,错误将出现。
对于我的应用程序来说,这是一个问题,因为我希望在没有连接时隐藏iAd,一旦恢复连接就让它重新出现。如果应用程序收到限制错误,那么在接收到另一个广告之前可能会有很长的延迟。
如何避免限制错误?我认为需要删除bannerView,然后重新添加,但无法正确地执行此操作。
最后要注意的一点是,当前的iAdSuite使用自动引用计数(ARC),而我的应用程序没有。即使如此,该错误在我的应用程序和iAdSuite中都会出现。
[_bannerview removeFromSuperview];
。 - t_motooka