我已经搜索了多个论坛并查看了有关stackoverflow的现有问题,但尚未找到解决方案。我有一个游戏屏幕,我在屏幕底部显示一个iAd。广告正确显示,当我点按它时,它会展开到全屏。但是,当我在第二个屏幕中点击X按钮时,广告将关闭而不会在委托中调用bannerViewActionDidFinish。
我真的需要一种方法来了解广告何时关闭,以便我可以相应地重新布局我的屏幕。有什么想法吗?
更新:在下面添加了与iAd相关的所有视图控制器代码。我通过Interface Builder添加了AdBannerView,并将其作为插座链接到self.mAdBannerView。我在视图控制器中做的没什么特别的。还有一点:我还没有通过应用程序发布到iTunes Store,所以我从Apple获得测试广告"您已经连接到iAd"我已经在模拟器和设备上试过了 - 同样的结果和相同的问题。
请注意,正如预期的那样,会调用bannerViewDidLoadAd和didFailToReceiveAdWithError的回调。
这是我的代码示例:
- (BOOL)bannerViewActionShouldBegin:(ADBannerView *)banner willLeaveApplication:(BOOL)willLeave
{
return YES;
}
- (void)bannerViewActionDidFinish:(ADBannerView *)banner
{
NSLog(@"bannerViewActionDidFinish"); //this is never called
}
- (void)viewDidLoad
{
self.mAdBannerView.delegate = self;
}
- (void)bannerViewDidLoadAd:(ADBannerView *)banner
{
}
- (void)bannerView:(ADBannerView *)banner didFailToReceiveAdWithError:(NSError *)error
{
}