広告の表示は、広告表示用の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
コード詳細は、動画広告サンプルアプリを参照してください。