スマートフォンアプリが広告メディアとしての地位を確立して久しくない今日。アプリを使用していても、広告を見ない事の方が少なくなってきています。
とはいえ、ユーザーにとって広告はどうしてもネガティブな印象を持たれがちな事もまた事実。広告の読み込みに時間がかかったり、不適切な広告が出たりすると、アプリ自体の印象も下げかねません。いかにしてユーザ体験を損なわずに、アプリをメディアとして使うかは非常に重要です。
さて、実際にアプリを作成し、いざ広告を導入しようとなった時に、まず何をすればいいでしょうか。自作のアプリに広告を出そうとした時には、大きく二つの選択肢があります。
- 広告配信タグを利用する
- 広告配信SDKを利用する
本記事では、上記の「広告配信SDK」に関して紹介します。
最後に独自のアドサーバーを所有して広告配信をする方法を少しだけ紹介します。ご興味をお持ちの方はぜひそちらもご覧ください!
そもそも広告配信SDKとは?
アプリに組み込んで使う、広告配信に必要な機能を一まとめにしたツールキットの総称です。配信タグではできない、アプリの挙動と密接に連携した広告配信ができるようになるのが最大のメリットです。
広告配信SDKを実際に組み込むには
広告配信SDKはアプリに組み込んで使うため、手間がかかると思われがちですが、実際の導入はそれ程大変ではありません。ここからはいくつか実際に例を挙げながら紹介していきます。
まずはじめに、実際に広告を表示する広告枠を作成します。これは、SDKを配布している配信プラットフォームによってさまざまですが、基本的には登録したいアプリをメディアとして申請を出せばOKです。 今回記事を書くにあたって、別にメディア登録とかはしていないので詳しくは各サービスのメディア向けページを見てください。多分とても親切に書いてあります。
広告枠ができたら、実際に広告をリクエストしてみましょう。例として、いくつか実際にSDKを組込む際の方法を見ていきます。
オーバーレイ広告(バナー)
アプリ組込に限らず、一番多いタイプがオーバーレイ広告。基本的にアプリを立ち上げて特定のViewに入ってからは表示し続けるので、組込も一番楽です。
組み込み方
例としてNendさんのバナー広告を組込んでみましょう。詳しくはこちら。丁寧に書いてあります。
http://nend.net/doc/nendSDKiOS_manual.pdf
※このページは現在非公開のようです
まずはSDKをプロジェクトに追加します。といっても、ダウンロードしたフォルダを自分のプロジェクトにそのまま置く感じです。
SDKがプロジェクトに入ったら、実際に広告を表示するクラスから呼んでみましょう。
iOSの場合ならこんな感じ。
- 広告を表示するクラスのヘッダファイルに、NADView.hのインポートを追加
\#import "NADView.h"
- nend用のdelegateに準拠します
@interface "広告表示用クラス名" : UIViewController {}
- 広告用のviewを用意します
@property (nonatomic, retain) NADView * nadView;
- 広告を表示するクラスの実装ファイルのviewDidLoad(始めに呼ばれる処理)で、下記を実装します。
// NADView の作成
self.nadView = [[NADView alloc] initWithFrame:CGRectMake(0, 0, 320, 50)];
// ログ出力の指定
[self.nadView setIsOutputLog:NO];
// apiKey, spotId の指定
[self.nadView setNendID:@"[管理画面より発行された apiKey]"
spotID:@"[管理画面より発行された spotID]"];
[self.nadView setDelegate:self];
// 広告ロード
[self.nadView load];
[self.view addSubview:self.nadView];
簡単ですね。
フルスクリーン(インタースティシャル)広告
画面全体を覆うようにして表示されるオーバーレイ広告。 ゲーム終了時や、特定の画面遷移時によく使用され、性質上アプリ自体のUIには影響しないのがメリットです。
組み込み方
次はAdMobさん
こちらも親切ですね。導入手順が分かりやすいというのは人気の理由の1つになり得ますね。
まずはクイックスタートに従ってSDKをプロジェクトに入れていきます。 ちょっと手順は複雑ですが、CocoaPodsを使用する方法がおススメです。
イケてます。
準備が整ったら実際に広告を呼んでみましょう。iOSの場合はこんな感じ。
- 広告を表示するクラスのヘッダファイルに、GADInterstitial.hのインポートを追加
\#import "GADInterstitial.h"
- 広告用のプロパティを用意します
@property(nonatomic, strong) GADInterstitial *interstitial;
- アプリ起動時に広告のプリロードを済ませておくのが推奨らしいので、viewDidLoadで下記を実装。
// 広告を初期化
self.interstitial = [[GADInterstitial alloc] init];
self.interstitial.adUnitID = @"広告ユニットID";
// 広告を読み込み
GADRequest *request = [GADRequest request];
// 広告をロード
[self.interstitial loadRequest:request];
- 表示する準備ができたら、実際に広告を表示したいところで広告を呼んでみましょう。例として、ゲームオーバー時に広告を表示するとします。
- (void)gameOver {
// 広告が準備できているか確認
if ([self.interstitial isReady]) {
// 広告を表示
[self.interstitial presentFromRootViewController:self];
}
// 他、実際のゲームオーバー処理
...
}
ちょっと複雑ですが、任意の場所で簡単に呼び出せます。
上記に挙げたような広告表示だけでなく、SDKの持つ機能はさまざまですが、今回は割愛します。導入を検討しているSDKがあれば、直接見てみると分かりやすいと思います。
おわりに
いかがでしたか。
広告配信 SDK という存在との距離が少しでも縮まってもらえたらいいかな、と思います。
SDKが行っていることは実はシンプルで、配信サーバーのAPIとの通信をアプリから簡単に行えるようにしているだけです。そのため、SDKの使える機能は使用するアドサーバによって制限があります。逆に言えば、APIの使用できるアドサーバさえあれば、SDK を自作することも可能です。
EVERRISEでは、アドサーバに合わせた SDK 作成のご相談もお受けしております。 使いたいアドサーバに SDK がない、タグで埋め込んでいる広告をもっと自然に埋め込みたいなどありましたらぜひご相談ください。
プライベートアドサーバーでより自由な広告配信とマネタイズを実現
今回の記事では広告配信SDKについてご紹介してきました。既存の広告配信プラットフォームや、アドサーバーのSDKを利用した広告配信は手軽に始めることができるメリットがあります。
最後に独自のアドサーバーを導入して、アプリへの広告配信を実現する方法を少しだけ紹介します。
既存のアドサーバーを利用した広告配信の場合、配信クリエイティブやターゲティングの設定は決められた範囲でしかできません。しかし、自社でアドサーバーを導入することで、アプリの特徴やユーザーに合わせた広告メニューの作成、自由なクリエイティブで細かいターゲティングが可能になります。独自の価値のある広告メニューでマネタイズを実現することで、収益の最大化にも繋がります。
この場合でも広告配信SDKを利用してアプリに組み込むことができます。
弊社では既存のアドサーバーのSDK開発だけでなく、独自のアドサーバーの構築も可能です。 アプリのマネタイズで1段階上を目指したいお客さまはぜひこちらもご検討ください。