通常バナー広告の配置

広告の表示は、広告表示用のViewであるGNAdViewによって行われます。

サンプルコードを以下に示します。

// ExampleViewController.h

#import "GNAdView.h"  // GNAdView.hのインポート

@interface ExampleViewController : UIViewController<GNAdViewDelegate>
{
   GNAdView *_adView;
}

@end
// ExampleViewController.m

#import "ExampleViewController.h"

@implementation ExampleViewController

- (void)viewDidLoad
{
   [super viewDidLoad];

   // 大きさ・広告サイズ・App IDを指定してGNAdViewを初期化
   _adView = [[GNAdView alloc] initWithFrame:CGRectMake(0, 0, 320, 50) adSizeType:GNAdSizeTypeSmall appID:@"Your_Geniee_AppID"];

   // デリゲートの設定(※デリゲートを利用する場合)
   _adView.delegate = self;

   // アプリ内ブラウザを表示するビューコントローラを設定(※アプリ内ブラウザを利用する場合は必ず設定する必要があります)
   _adView.rootViewController = self;

   // 広告viewの追加
   [self.view addSubview:_adView];

   // 広告のローテーション表示開始
   [_adView startAdLoop];
}

- (void)dealloc
{
   // 広告のローテーション表示終了
   [_adView stopAdLoop];

   [_adView release], _adView = nil;
   [super dealloc];
}

startAdLoopを呼び出すと、GNAdViewは広告のロードを開始し、ロードが完了すると自動的に広告のローテーション表示を開始します。広告のローテーション表示を停止するにはstopAdLoopを呼び出します。

GNAdViewの広告処理サイクルイベントに応じて処理を行いたい場合には、デリゲート「GNAdViewDelegate」を利用することができます。処理を行う必要が無い場合はデリゲートを使用する必要はありません。

アプリ内ブラウザを利用する場合、アプリ内ブラウザはrootViewControllerに設定したビューコントローラのモーダルビューコントローラとして表示されます。アプリ内ブラウザを利用しない場合はrootViewControllerを設定する必要はありません。

インタースティシャル広告の配置

広告の表示は、広告表示用のクラスであるGNInterstitialによって行われます。

サンプルコードを以下に示します。

/// GenieeSampleViewController.h

#import "GNInterstitial.h"  // GNInterstitial.hのインポート

@interface GenieeSampleViewController : UIViewController<GNInterstitialDelegate>
{
   GNInterstitial *_interstitial;
}

@end


// GenieeSampleViewController.m

#import "GenieeSampleViewController.h"

@implementation GenieeSampleViewController

- (void)viewDidLoad
{
   [super viewDidLoad];

   // App IDを指定してGNInterstitialを初期化
   _interstitial = [[GNInterstitial alloc] initWithID:@"Your_Geniee_AppID"];

   // (必須)イベント処理用デリゲート
   _interstitial.delegate = self;

   // (必須)画面起動用ビューコントローラ
   _interstitial.rootViewController = self;
   
   // (オプション)ネット接続不可能等場合、代替表示用DefaultHtml画面
   _interstitial.defaultHtml = nsstring_default_Html;
}

// 何かイベント発生時、広告タグをロード
- (void)buttonDidPush
{
    //インタースティシャル広告タグをロードする
    [_interstitial load];
}

// GNInterstitialDelegateリスナーオーバーライド関数
// インタースティシャル広告タグロード完了時の処理
- (void)onReceiveSetting
{
    // インタースティシャル広告画面起動処理開始
    //BOOL is_show = [_interstitial show];
    //カレントViewControllerから広告画面を起動する
    BOOL is_show = [_interstitial show:self];
    if (is_show) {
        // アプリ側、広告画面起動する場合の処理を記述
    } else {
        // アプリ側、広告画面起動しない場合の処理を記述
        
    }
}

// GNInterstitialDelegateリスナーオーバーライド関数
// ネット接続不可能、表示キャッピング、広告在庫がない場合の処理
- (void)onFailedToReceiveSetting{
    //  アプリ側、処理を記述
}

// GNInterstitialDelegateリスナーオーバーライド関数
// バツボタン押下時の処理
- (void)onClose{
    //  アプリ側、処理を記述
}

// GNInterstitialDelegateリスナーオーバーライド関数
// 管理画面より設定したボタン押下時の処理
- (void)onButtonClick:(NSUInteger)nButtonIndex
{
    //  アプリ側、押下したボタン番号(nButtonIndex:1、2、...)を基づいて、処理を記述
}

- (void)dealloc
{
   [super dealloc];
}
@end

コード詳細は、インタースティシャル広告サンプルアプリを参照してください。

動画広告の配置

広告の表示は、広告表示用のクラスであるGNAdVideoによって行われます。

サンプルコードを以下に示します。

/// GenieeSampleViewController.h

#import "GNAdVideo.h"  // GNAdVideo.hのインポート

@interface GenieeSampleViewController : UIViewController<GNAdVideoDelegate>
{
   GNAdVideo *_videoAd;
}

@end


// GenieeSampleViewController.m

#import "GenieeSampleViewController.h"

@implementation GenieeSampleViewController

- (void)viewDidLoad
{
	[super viewDidLoad];

	//動画広告AppIDを指定してGNAdVideoを初期化
	_videoAd = [[GNAdVideo alloc] initWithID:@"Your_Geniee_AppID"];
	// (オプション)動画広告在庫がない時、代替インタースティシャル表示用AppID
	[_videoAd setAlternativeInterstitialAppID:@"Your_Geniee_AppID"];
	// (必須)イベント処理用デリゲート
	_videoAd.delegate = self;
	// (必須)画面起動用ビューコントローラ
	_videoAd.rootViewController = self;
	// (オプション)動画広告再生完了後画面自動閉じるモード、デフォルト:YES
	//_videoAd.autoCloseMode = NO;
	// (オプション)Geo最適化、デフォルト:NO
	//_videoAd.geoLocationEnable = YES;
	// (オプション)Debugログ出力レベル、デフォルト:GNLogPriorityNone
	//_videoAd.GNAdlogPriority = GNLogPriorityInfo;
	// (オプション)画面の背景色と透明度
	//_videoAd.viewBackgroundColor = [UIColor colorWithRed:0.0 green:0.0 blue:0.0 alpha:0.5];
	//広告のフリークエンシー(何%の確率で表示):0〜100の数字を設定、未設定場合デフォルト100
	//_videoAd.show_rate = 100;
	//一回の起動あたりの最大表示回数:0以上の数字を設定、未設定場合デフォルト0(制限無し)
	//_videoAd.show_limit = 0;
	//一回の起動あたりの最大表示回数のリセット分数:0以上の数字を設定、未設定場合デフォルト0(無効)
	//_videoAd.show_reset = 0;
}

// 何かイベント発生時、広告タグをロード
- (void)buttonDidPush
{
    //動画広告タグをロードする
    [_videoAd load];
}

//GNAdVideoDelegateの実装関数
//動画タグ受信成功のイベントの処理
- (void)onGNAdVideoReceiveSetting
{
    //カレントViewControllerから動画広告画面起動
    BOOL is_show = [_videoAd show:self];
    if (is_show) {
        //アプリ側、広告画面起動する場合の処理を記述
    } else {
        //アプリ側、広告画面起動しない場合の処理を記述
    }
}

//GNAdVideoDelegateの実装関数
//動画タグ受信失敗のイベント
//ネット接続不可能、表示キャッピング、広告在庫がない場合の処理
- (void)onGNAdVideoFailedToReceiveSetting
{
    //アプリ側、処理を記述
}

//GNAdVideoDelegateの実装関数
//動画画面終了のイベントの処理
- (void)onGNAdVideoClose{
    //アプリ側、処理を記述
}

//GNAdVideoDelegateの実装関数
//代替インタースティシャル広告の管理画面より設定したボタン押下時の処理
- (void)onGNAdVideoButtonClick:(NSUInteger)nButtonIndex
{
    //アプリ側、押下したボタン番号(nButtonIndex:1、2、...)を基づいて、処理を記述
}

- (void)dealloc
{
   [super dealloc];
}
@end

コード詳細は、動画広告サンプルアプリを参照してください。