2012-05-04 37 views
0

所以我跟着一些关于如何整合iAds的教程,最后设法让它工作,但只是在视觉上是这样。我的意思是,我看到我的iPhone应用程序上的广告,我可以点击它并查看测试信息,但没有任何事件被解雇。下面是我的事件处理程序的代码,有什么我应该检查?如何iAd事件永远不会被解雇

- (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

您是否正在设置ADBannerView的代表? –

+0

我在文件的标头做: @interface QuickRatioCalculatorFreeViewController:的UIViewController { \t ADBannerView *横幅; } – jansensan

+3

这只是声明这个ViewController符合ADBannerViewDelegate协议。您仍然需要实际设置ADBannerView的委托属性。如果您使用的是.nib,请控制从标题拖动到文件所有者并选择委托。 –

回答

2

加入标题只声明此ViewController符合ADBannerViewDelegate协议。您仍然需要实际设置ADBannerView的委托属性。如果您使用的是.nib,请控制从标题拖动到文件所有者并选择委托。

通常,如果你委托回调没有被调用,这是问题所在。