Titaniumアプリ開発における広告配信メディエーションについての考察

#はじめに
広告配信サービスをアドネットワークと呼び、一番儲かりそうなアドネットワークを動的に切り替えるサービスをメディエーションと呼びます。
メディエーションには色々なサービスが有るのですが、Titaniumでのアプリ開発におけるAdMobのメディエーションとAd Generationのメディエーションについて考察してみました。
ただし公開されているドキュメントレベルでの考察で、実際に使用したものではありません。間違えている場合はご指摘いただければ幸いです。
またAd Generationについてはサービス内容が良さそうなのですが、収益いいですよといったアプリ開発者側の情報が乏しいので募集中です。
備考：Ad GenerationはTitanium以外にUnity、Cocos2d-xにも組み込めます。

参考url

- [スマホ/広告配信 | papuuWiki](http://papuu.jp/wiki/index.php?%A5%B9%A5%DE%A5%DB%2F%B9%AD%B9%F0%C7%DB%BF%AE)

- [AdMob メディエーション](https://support.google.com/admob/answer/3063564?hl=ja&ref_topic=3063091&rd=1)

- [Ad Generation](http://www.mediba.jp/adgeneration/pc/)

- [Ad Generation FAQ](https://ad-generation.jp/support/help/faqs/zenpan)

- [SSP機能比較表 | WEB広告ナビ](http://wanavi.net/ssp-comparison)

- [収益最大化に徹底的にこだわった『アドジェネレーション』『AppBank SSP 』 ｜APPREVIEW](http://app-review.jp/news/241824)



#[1] AdMobのみでメディエーションを実行する方法
AdMob単体の広告を表示するTitanium用モジュールは有るのですが、汎用的にメディエーションを実行できるモジュールは無いようです。
AdMobでメディエーションを実行するには次のSDKが必要です。

- AdMob本体
- nendなど切り替えたいアドネットワークごとのAdMob用アダプター

これらをネイティブでビルドする必要が有るので、Titaniumへの組み込みはモジュールを自作しなければいけません。
更に次の作業が必要です。

- AdMob、nendなどそれぞれのアカウント開設、アプリごとに広告のIDなど発行
- AdMob管理画面でのアプリごとのメディエーション設定

参考url

- [nendSDK AdMobメディエーション](http://nend.net/doc/nendSDK_AdMob_Mediation_Guide.pdf)

- [AdMobメディエーションで広告(Nend,iAd,AdMob)を切り替える方法](http://kojisatoapp.blogspot.jp/2014/03/admobnendiadadmob.html)

メリット

- 色々なアドネットワークを組み込めます（AdMob用アダプターがそれぞれ必要です）
- メディエーションの手数料が不要
- 広告表示のソースはAdMobのみ（アドネットワークごとに切り替えなくてOK）

デメリット

- 組み込みがとても難しい
- アドネットワークごとにアカウント開設が必要
- アドネットワークでアプリごとに広告のIDなど発行し、AdMob管理画面への登録が必要



#[2] Ad Generationのみでメディエーションを実行する方法
Titanium用モジュールが有ります。こちらはnendなど切り替えたいアドネットワークごとのSDKは不要のようです。また切り替えたいアドネットワークごとアカウント開設やアプリごとの広告配信登録と集金もAd Generation側で代行しているようで、合算して振り込んでもらえるようです。ただし手数料は若干引かれるそうです（金額は非公開）。

nend、i-mobile、inmobiなどに対応しているのはありがたいのですが、残念ながら最近単価の高いAdMob本体の広告には対応していないようです。

- [ADNWデフォルト設定表](https://ad-generation.jp/files/cms/files/34/ADNW%E3%83%87%E3%83%95%E3%82%A9%E3%83%AB%E3%83%88%E8%A8%AD%E5%AE%9A%E8%A1%A8_20141204.original.pdf)

メリット

- アドネットワークごとの作業を色々代行してもらえます
- 広告表示のTitaniumソースはAd Generationのみ（アドネットワークごとに切り替えなくてOK）
- バナー以外にアイコン広告なども有ります
- AdMobには対応していないが、inmobiには対応しているので海外での収益も安心

デメリット

- 若干手数料が引かれます
- 対応しているアドネットワークが限られます（特に最近注目されているAdMobに非対応）
- 一部アドネットワークへの対応（ADNWデフォルト設定表で△）はアプリごとにAd Generationへメールで申請する必要があります

参考url

- [AdGeneration/TitaniumModule導入ガイド](https://github.com/AdGeneration/sdk/wiki/TitaniumModule%E5%B0%8E%E5%85%A5%E3%82%AC%E3%82%A4%E3%83%89)



#[3] AdMob + Ad Generation（AdMob用アダプター）でメディエーションを実行する方法
AdMob本体のSDKとAd Generation（AdMob用アダプター）でTitanium用のモジュールを自作して組み込む作業が必要です。nendなどAdMob以外のメディエーションはAd Generation側で行います。（AdMob用アダプターの形で組み込むことも可能ではあります）

メリット

- AdMobも含めて色々なアドネットワークを組み込めます
- 広告表示のソースはAdMobのみ（アドネットワークごとに切り替えなくてOK）
- nendなどアドネットワークごとの作業をAd Generation側で色々代行してもらえます
- AdMob, inmobiに対応でき、海外での収益も安心

デメリット

- 組み込みがとても難しい
- Ad Generationのみを使用する場合と比べて、AdMobでのアプリごとの申請、Ad GenerationでのIDなどのAdMob管理画面への登録作業が必要
- AdMob以外は若干手数料が引かれます
- 一部アドネットワークへの対応（ADNWデフォルト設定表で△）はアプリごとにAd Generationへメールで申請する必要があります

参考url

- [AdGeneration/AdMobメディエーション導入ガイド](https://github.com/AdGeneration/sdk/wiki/AdMob%E3%83%A1%E3%83%87%E3%82%A3%E3%82%A8%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3%E5%B0%8E%E5%85%A5%E3%82%AC%E3%82%A4%E3%83%89)



#[4] AdMob、Ad Generationの各Titanium用モジュールを組み込み、アプリ内部で切り替える方法
メリット

- Titanium用モジュールが有るので組み込みが楽
- AdMob以外はnendなどAd Generationの機能で広告単価にう応じたメディエーションが可能
- nendなどアドネットワークごとの作業をAd Generation側で色々代行してもらえます
- AdMob, inmobiに対応でき、海外での収益も安心

デメリット

- Ad Generationのみを使用する場合と比べて、AdMobでのアプリごとの申請が必要
- AdMob以外は若干手数料が引かれます
- AdMobとAd Generationをどれくらいの比率で切り替えるかはアプリ内部で予め固定しないといけない（広告単価で切り替え不可）
- 一部アドネットワークへの対応（ADNWデフォルト設定表で△）はアプリごとにAd Generationへメールで申請する必要があります

参考url

- [coe/jp.coe.ad | GitHub](https://github.com/coe/jp.coe.ad/blob/master/controllers/widget.js)



#[5] 広告単価に応じたメディエーションは諦め、アプリ内でAdMob/nendなどを切り替える方法
AdMobのTitanium用モジュール、nendのTaitanium用モジュールなどをそれぞれアプリ内に組み込み、アプリ内部で切り替えることができます。
メリット

- Titanium用モジュールが有るので組み込みが楽
- 国内はnend、海外はAdMobなどと割り切ってしまえば、Titanium用モジュールが有るので組み込みが楽

デメリット

- 広告単価に応じた切り替えができません
- アプリ内でAdMob用広告表示コード、nend用広告表示コードなどの各記述が必要



#考察
個人的にはメディエーションサービスを使わず、国内はnend、海外はAdMobをアプリ内で切り替えてバナーで表示していました。ただし国内で良かったnendの広告単価が最近落ちてきていて、一方AdMobは最近とても高いそうで今回記事として取り上げ検討してみました。
次の(1)(2)(3)の順に対応していこうかと検討中です。またこれまでバナー広告しか使用してきませんでしたが、(3)に進む前に広告単価の高いインタースティシャル広告（全画面広告）やアイコン広告なども取り入れた方がいい気もします。

1. 最近国内でもAdMobが好調なのでメディエーションは諦めて、国内・海外共にAdMob一本に絞る
2. AdMobに加えて実験的にAd Generationを一部アプリ内で固定比率で組み込む
3. 最終的にはTitaniumでのモジュール作成できるようにして、次のどちらかを目指す

- AdMobでメディエーションを実行する方法
- AdMob + Ad Generation（AdMob用アダプター）でメディエーションを実行する方法 ... こちらのTitaniumモジュールが公開されると一番うれしいのですが、複数の会社が絡むので難しい？

また、今回取り上げませんでしたがappC cloudのようにアイコンなども含めて色々なタイプの広告をワンストップで組み込めるMBaaSにも興味が有ります。手軽そうですので、海外も含めて収益が高く、今後Titaniumに対応してもらえるようなら採用を検討したいです。

- [appC cloud](https://app-c.net/)

参考url

- [AdMobのインタースティシャル広告を誉め称えるツイートまとめ](http://togetter.com/li/710790)