2013-09-21 215 views
2

我正在構建一個應用程序,我想要我們iAd橫幅廣告。我想在其中顯示廣告的視圖控制器是UIViewController。我正在使用故事板。我實現了iAd的橫幅正是因爲蘋果展示/演示在這裏:iAd沒有顯示橫幅廣告

  • 加入iAd的框架
  • 進口"<iAd/iAd.h>"
  • 插入self.canDisplayBannerAds = YES;

但是當我跑我的應用程序,沒有任何的iAd是顯示向上。我忘記了什麼嗎?非常感謝你提前

回答

0

問題是我不得不在itunes connect中籤署iAd合約,這我還沒有完成。它現在工作正常!

+0

嗨,我目前面臨着和你一樣的問題。除了使用iAd合同進行簽名之外,是否必須在視圖控制器中編寫任何代碼?因爲我使用的是[this](http://www.techotopia.com/index.php/Integrating_iAds_into_an_iOS_7_App)教程,所以在viewDidLoad中只放置'self.canDisplayBannerAds = YES'這行就可以啓用它,但它不適合我。 – Isuru

+0

按照我在問題中描述的步驟進行操作,並讓我知道它是否有效;) – Joris416

+1

我完全像您所描述的那樣。故事板應用程序。我添加並導入了iAd框架。將此行'self.canDisplayBannerAds = YES;'添加到'viewDidLoad',但視圖控制器中不顯示任何廣告。我應該在哪裏簽署iAd合同?使用iTunes連接的 – Isuru

0

在你的.h:

@interface MyViewController : UIViewController <ADBannerViewDelegate> 

在你的XIB文件添加一個橫幅廣告視圖,並用一個IBOutlet

@property (nonatomic, strong) IBOutlet ADBannerView *iAdBannerView; 

鏈接這面旗幟鑑於以下代碼添加到展示您的廣告:

#pragma mark - ADBannerViewDelegate 
- (void)bannerViewDidLoadAd:(ADBannerView *)banner 
{ 
    NSLog(@"banner loaded"); 

    // Display BannerView 
    _iAdBannerView.hidden = NO; 
    [UIView animateWithDuration:0.4f 
        animations:^{ 
         _iAdBannerView.alpha = 1.0f; 
        }]; 
} 

- (void)bannerView:(ADBannerView *)banner didFailToReceiveAdWithError:(NSError *)error 
{ 
    // Print error 
    NSLog(@"error banner failed :\n%@", error); 

    // Hide BannerView 
    [UIView animateWithDuration:0.4f 
        animations:^{ 
         _iAdBannerView.alpha = 0.0f; 
        } completion:^(BOOL finished) { 
         _iAdBannerView.hidden = YES; 
        }]; 
} 

通常您的adbanner會在您收到廣告並消失時出現除此以外。

1

我有一點不同的問題,但答案也適合您的問題。我更新了舊的xib文件(來自XCode 5.1),在XCode 6.0中使用Size Classes。更新廣告僅在iPhone 4 - 5和5中顯示後。 iPhone 6和iPhone 6 Plus沒有橫幅(模擬器顯示與外部設備相同的結果)。當使用XIB文件,在我的情況下使用

self.canDisplayBannerAds = YES; 

我從viewDidLoad遷此命令viewDidAppear和條幅出現了。現在我可以在所有設備上看到橫幅。