iAd設置してみました(続編)

 前回の記事から少し判った事の追加です。
 マニュアルは良く読まないといけないですね。

 iAd日本語マニュアル

 広告を読み込んだ時に未対応でした。(汗)
 それと、読み込めなかった時の対応が不十分みたいでした。
 BOOL _bannerIsVisible; というインスタンス変数を追加して、状態に応じて処理するようにしました。
 YESの時は広告表示中、NOは広告非表示と広告の状態を保存しています。

広告を読み込んだ時の対応

viewController.m

- (void)viewDidLoad {
  [super viewDidLoad];

  adView = [[ADBannerView alloc] initWithFrame:CGRectZero];
  adView.currentContentSizeIdentifier = ADBannerContentSizeIdentifier320x50;
  [self.view addSubview:adView];
  adView.delegate = self;

  // これを追加。あらかじめ画面上に隠しておきます。
  _bannerIsVisible = NO; // インスタンス変数です。広告の状態を保存しています。
  adView.frame = CGRectOffset( adView.frame, 0.0, -50.0 );
}

// このデリゲートメソッドを追加しました。
- (void)bannerViewDidLoadAd:(ADBannerView *)banner
{
  if (!_bannerIsVisible) {
    // Banner Viewが表示されないように50ピクセルにオフセットされていると仮定
    [UIView beginAnimations:@"animateAdBannerOn" context:NULL];
    banner.frame = CGRectOffset(banner.frame, 0, 50);
    [UIView commitAnimations];
    _bannerIsVisible = YES;
  }
}

広告が読み込めなかった時の対応(状態に対応版)

- (void)bannerViewDidLoadAd:(ADBannerView *)banner
{
  if (!_bannerIsVisible) {
    // Banner Viewが表示されないように50ピクセルにオフセットされていると仮定
    [UIView beginAnimations:@"animateAdBannerOn" context:NULL];
    banner.frame = CGRectOffset(banner.frame, 0, 50);
    [UIView commitAnimations];
    _bannerIsVisible = YES;
  }
}

 以上でした〜。

 作っているゲーム、もう少ししたら提出できそうです。
 提出したら、内容などお知らせしていこうと思います。