2012-05-04 39 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,請控制從標題拖動到文件所有者並選擇委託。

通常,如果你委託回調沒有被調用,這是問題所在。