AppBank SSPをiOSアプリに実装する方法

AppBank SSPは、アプリの広告収益を安定・向上させられるサービスです。収益を向上させ、安定させることができるだけでなく、AppBankにアプリが掲載されるチャンスが全てのアプリに提供されるという特徴があります。

現在、参加頂くだけで1万円がゲットできるキャンペーンを実施しております。ふるってご参加下さい。
【アプリ開発者様向け】先着150名に1万円プレゼント。AppBank SSPリリース記念キャンペーンを行います!

この記事では、そんな AppBank SSP を iOS アプリに実装する方法を解説しています。とてもカンタンなので、ぜひ読んでみてください!

まだAppBank SSPに参加していない方はこちら

まだAppBank SSP に参加されていない方は、下記リンク先からお申込みください。
AppBank SSP に参加する

apppbankssp参加


実装環境・使用した SDK のバージョン

  • Xcode v5.1.0
  • AdgenerationSDK iOS v1.4.1

AdGeneration の iOS SDK は、iOS 4.3 以上、iOS 7.1.2 以下(2014年8月17日時点)が、動作保証対象となります。

この記事では、ARC が有効なプロジェクトでの実装について説明しています。ARC が無効な場合は実装方法が異なります。

実装の流れ

  1. プロジェクトの作成
  2. SDK の入手と追加
  3. フレームワークの追加
  4. 実装
  5. アプリがリリースされたら

1. プロジェクトの作成

まずは、新規プロジェクトを作成します。作成済みのプロジェクトに SDK を組み込む場合は、本項の内容は不要です。

Xcode を起動して【Create a new Xcode project】を選択します。

ssp_ios_1


今回はテンプレートとして【Single View Application】を選択します。

ssp_ios_2


その他の項目は、作成するアプリに合わせて入力し、プロジェクトの作成まで行います。

ssp_ios_3


2. SDKの入手と追加

SDK は、Github の AdGeneration/sdk からダウンロードすることができます。→ アーカイブ ZIP ダウンロードは、こちらから。

ADG_iOSSDK フォルダが、iOS 用の SDK となります。

通常の広告表示では、ADGMMWrapper.framework 以外のファイルを使用します。全画面動画枠を導入する場合は、ADGMMWrapper.framework も必要となります。

ssp_ios_4


Xcode 上にて、SDK をプロジェクトに追加します。

ここでは、sdk という名称のフォルダを作り、その中にファイルを格納した上で追加しています。

ssp_ios_5


フォルダを作成するだけではプロジェクトに追加されないので、Xcode のプロジェクトナビゲータから、sdk フォルダを Add File します。

ssp_ios_6


3. フレームワークの追加

AdGeneration では、以下のフレームワークを使用します。

  • SystemConfiguration.framework
  • CoreTelephony.framework
  • MediaPlayer.framework
  • Security.framework
  • EventKit.framework
  • QuartzCore.framework
  • AdSupport.framework
  • CoreGraphics.framework

AdSupport.framework は、Status で Optional を選択します。

ssp_ios_7


4. 実装

AdGeneration の広告の操作は、基本的に ADGManagerViewController クラスのインスタンスを介して行われます。

そのため、まずは広告を表示する ViewController のヘッダーファイルで ADGmanagerViewController.h をインポートします。

#import "ADGManagerViewController.h"

ADGmanagerViewController からの delegate を取得するため、ADGManagerViewControllerDelegate を指定します。

@interface ViewController : UIViewController

プロパティとして ADGManagerViewController のインスタンスを指定します。ここでは adg という名前にしています。

@property (nonatomic) ADGManagerViewController *adg;

ここまででヘッダーファイル(.h)は、以下のようになります。

#import 
#import "ADGManagerViewController.h"

@interface ViewController : UIViewController

@property (nonatomic) ADGManagerViewController *adg;

@end

続いて実装ファイル(.m)に、コードを記述していきます。

まずパラメータの指定を行います。

NSDictionary *adgparam = @{
    @"locationid" : @"10723", // 広告枠ID
    @"adtype" : @(kADG_AdType_Sp), // 広告枠サイズ
    @"originx" : @(0), // x座標
    @"originy" : @(20) // y座標
};

locationid は広告枠 ID です。管理画面から取得できます。

※ 10723 は、テスト表示用の仮 ID となります。この ID のままリリースしないようご注意ください。

adtype は、広告枠のサイズです。以下のように定義されています。

  • kADG_AdType_Sp: 320×50
  • kADG_AdType_Large: 320×100
  • kADG_AdType_Rect: 300×250
  • kADG_AdType_Tablet: 728×90
  • kADG_AdType_Free: 個数指定アイコン用

originxoriginy は、広告の表示位置の x 座標と y 座標です。

次に、このパラメータを指定して ADGManagerViewController のインスタンスを生成し、広告の表示を行います。広告の表示を画面の表示と行う場合、ここまでの処理を viewDidLoad に書くことになります。

_adg = [[ADGManagerViewController alloc] initWithAdParams:adgparam :self.view]; // インスタンスの生成
_adg.delegate = self; // delegate の指定
[_adg loadRequest]; // 広告の表示開始

AdGeneration の SDK は、バックグラウンドに入ったときにローテーションが停止されます。

ローテーションの再開のため、viewDidAppearresumeRefresh を呼び出してローテーションを再開する必要があります。

- (void)viewDidAppear:(BOOL)animated
{
    [super viewDidAppear:animated];

    if (_adg) {
        [_adg resumeRefresh]; // 広告ローテーション再開
    }
}

dealloc で広告表示用のインスタンスに nil を指定します。

- (void)dealloc
{
    [_adg setDelegate:nil];
    _adg = nil;
}

広告の通信成功時などに処理を行いたい場合は、必要に応じて delegate メソッドを記述します。ここでは、広告の通信成功と通信失敗を記述します。

※ 通信成功でもアドネットワークに広告がないケースもございます。

// 広告通信成功
- (void)ADGManagerViewControllerReceiveAd:(ADGManagerViewController *)adgManagerViewController
{
    NSLog(@"%@", @"ADGManagerViewControllerReceiveAd");
}

// 広告通信失敗
- (void)ADGManagerViewControllerFailedToReceiveAd:(ADGManagerViewController *)adgManagerViewController
{
    NSLog(@"%@", @"ADGManagerViewControllerFailedToReceiveAd");
}

最終的な実装は、以下のようになります。

#import "ViewController.h"

@interface ViewController ()

@end

@implementation ViewController

- (void)viewDidLoad
{
    [super viewDidLoad];
    // Do any additional setup after loading the view, typically from a nib.
    
    NSDictionary *adgparam = @{
        @"locationid" : @"10723",
        @"adtype" : @(kADG_AdType_Sp),
        @"originx" : @(0),
        @"originy" : @(20)
    };
    
    _adg = [[ADGManagerViewController alloc] initWithAdParams:adgparam :self.view];
    _adg.delegate = self;
    [_adg loadRequest];
}

- (void)didReceiveMemoryWarning
{
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}

- (void)viewDidAppear:(BOOL)animated
{
    [super viewDidAppear:animated];
    
    if (_adg) {
        [_adg resumeRefresh];
    }
}

- (void)dealloc
{
    [_adg setDelegate:nil];
    _adg = nil;
}

- (void)ADGManagerViewControllerReceiveAd:(ADGManagerViewController *)adgManagerViewController
{
    NSLog(@"%@", @"ADGManagerViewControllerReceiveAd");
}

- (void)ADGManagerViewControllerFailedToReceiveAd:(ADGManagerViewController *)adgManagerViewController
{
    NSLog(@"%@", @"ADGManagerViewControllerFailedToReceiveAd");
}

@end

これで広告の表示が行われます。

ssp_ios_8-414x640


5. アプリがリリースされたら

AppBank SSP を実装したアプリを App Store にリリースしたら AppBankプラスに申込みましょう。AppBankプラスは、AppBank SSP を導入しているアプリを AppBank で紹介できるサービスです。AppBankプラスを利用することで、500 ~ 1,500ほどのダウンロード増が見込めます。

AppBankプラスへのお申込み方法は以下をご確認ください。
AppBankプラスのお申込み方法

AppBank SSPについて

AppBank SSP は、AppBankが提供するスマホアプリ向けのSSPです。AppBank SSP を利用することで、収益を向上させ、安定させることができるだけでなく、AppBankにアプリが掲載されるチャンスが全てのアプリに提供されます。

AppBank SSP のお申込みは以下よりお願いします!
AppBank SSP に参加する

apppbankssp参加


こちらもどうぞ

参考になったらシェアお願いします!
Twitterへ Facebookへ はてブへ Pocketへ
▼新着記事やオススメ記事を投稿中!