所以我按照一些关于如何集成iAds的教程,最终设法让它工作,但只是在视觉上。我的意思是我在iPhone应用程序上看到广告,我可以点击它并查看测试信息,但没有一个事件被解雇过。下面是我的事件处理程序代码,有什么我应该检查的吗?
- (void)bannerViewDidLoadAd:(ADBannerView *)banner
{
NSLog(@"--- bannerViewDidLoadAd ---");
NSLog(@"self.isBannerVisible: %@", self.isBannerVisible);
if(!self.isBannerVisible)
{
[UIView beginAnimations:@"animatedAdBannerOn" context:NULL];
self.banner.frame = CGRectOffset(self.banner.frame, 0.0, self.bannerVisibleY);
self.header.frame = CGRectOffset(self.header.frame, 0.0, self.headerWithBannerY);
[UIView commitAnimations];
self.isBannerVisible = YES;
}
}
- (void)bannerView:(ADBannerView *)banner
didFailToReceiveAdWithError:(NSError *)error
{
NSLog(@"--- bannerView ---");
NSLog(@"error: %@", error);
NSLog(@"self.isBannerVisible: %@", self.isBannerVisible);
if(self.isBannerVisible)
{
[UIView beginAnimations:@"animatedAdBannerOff" context:NULL];
self.banner.frame = CGRectOffset(self.banner.frame, 0.0, self.bannerHiddenY);
self.header.frame = CGRectOffset(self.header.frame, 0.0, self.headerNoBannerY);
[UIView commitAnimations];
self.isBannerVisible = NO;
}
}
答案 0 :(得分:2)
放入标题只声明此ViewController符合ADBannerViewDelegate协议。您仍然需要实际设置ADBannerView的委托属性。如果您使用的是.nib,请控制从横幅拖动到文件所有者并选择委托。
一般来说,如果你的委托回调没有被调用,那就是问题。