iAD使用方法(サンプル・プロジェクト付き)

概要

アプリ内にAppleによる広告を表示させる方法です。
広告を表示させることで、開発者(提供元)は広告収入をAppleから得ることができるようになります。



説明

iADを表示させるためには、2つの方法があります。
  • Interface Builder を使用する方法
  • コード内でクラスを作成する方法
    ここでの説明は割愛します。InterfaceBuilder
基本的には下記手順に従います。
  1. プロジェクトに「iAd.framework」を追加する。
  2. ADBannerViewクラスをUIViewControllerか継承クラスに貼付ける。
  3. 貼付けたUIViewControllerにDelegateを設定する。

重要

iAD ( ADBannerView ) には、UIViewController が必要です。
また、
iADは有効になるまでは画面に表示させてはなりません。(空白表示は不可)
この処理はDelegateで行うことになりますが、これを怠ると、アプリ申請時

使用方法

InterfaceBuilderでの対応方法です。
  1. UIViewControllerに共通コードを記述します。
  2. InterfaceBuilderで上記クラスのビューにADBannerViewを貼付けます。

    このとき、貼付けたUIViewControllerの「Interface Builder Document」の「Use Autplayout」のチェックを外しておいてください。


  3. 貼付けたADBannerViewのDelegate先を上記UIViewControllerにします。


  4. 上記UIViewControllerからOutletを指定します。(ADBannerView)


共通コード

どの方法でiADを表示させる場合にでも、下記コードを実装する必要があります。
*下記コードはそのままでも使えますが、自身のアプリの内容に応じて変更してください。

クラス定義 .h(最低限)

iADの表示状態を管理するフラグを作成してください。
また、
ADBannerViewを作成します。ここではInterfaceBuilderで管理しています。

@interface ins_ViewController : UIViewController <ADBannerViewDelegate>

{

    BOOL bannerIsVisible;  //ADBannerView表示状態管理フラグ YES=表示中

}

@property (nonatomic, weak) IBOutlet ADBannerView* bannerView;

@property (nonatomic, assign) BOOL bannerIsVisible;

クラス定義 .m(最低限)

@implementation ins_ViewController

@synthesize bannerView;

@synthesize bannerIsVisible;

バナーがタップされた場合、広告を表示させるのか?させないのか?返します。
下記では常に許可しています。

- (BOOL)bannerViewActionShouldBegin:(ADBannerView *)banner

               willLeaveApplication:(BOOL)willLeave

{

    return YES;

    /*

     BOOL shouldExecuteAction = [self allowActionToRun]; // アプリケーションはこの方法を実装する

     if (!willLeave && shouldExecuteAction)

     {

     // ここにコードを挿入して、広告と競合する可能性のあるサービスを一時停止する

     }

     return shouldExecuteAction;

     */

}

広告が有効になった場合の処理

-(void)bannerViewDidLoadAd:(ADBannerView *)banner

{

    if( self.bannerIsVisible )

    {

        return;

    }

    [UIView beginAnimations:@"animateAdBannerOn" context:NULL];

    self.bannerView.hidden = NO;

    [UIView commitAnimations];

    self.bannerIsVisible = YES;

}

エラー処理

  -(void)bannerView:(ADBannerView *)banner didFailToReceiveAdWithError:(NSError *)error

{

    if( !self.bannerIsVisible )

    {

        return;

    }

    [UIView beginAnimations:@"animateAdBannerOff" context:NULL];

    self.bannerView.hidden = YES;

    [UIView commitAnimations];

    self.bannerIsVisible = NO;

}


SelectionFile type iconFile nameDescriptionSizeRevisionTimeUser
ċ

ダウンロード
サンプル・プロジェクト  79KB v. 1 2012/11/09 16:32 浅野利博