13
11

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

【iOS】サクッと実装したい人向け、Ad Generationメディエーション実装手順

Last updated at Posted at 2019-03-13

メディエーションは凄い。 メディエーションはやるべき。 メディエーションは儲かる。 などなど、メリットはよく聞こえてきますが、いざ実装となるとなかなか例が出てこなくて困りました。

実装を終えて振り返ってみると、工数は少なかったですが迷うことは多かった印象です。

というわけで、これからメディエーションを実装する人が迷わないように、最短で実装できる手順を書いてみました。参考になればこれ幸いです。

0. 実装をはじめる前に

実装をはじめる前に知っておいてもらいたいのは、Ad Generationのメディエーションを実装する上で、GADBannerViewGADRequestに何もコードを足す必要は無いということです。(もちろん、DFPBannerViewやDFPRequestの場合でも)

基本的には、必要な2つのSDKをプロジェクトに追加するだけです。

1. SDKをインストールする

まず、Ad Generation SDKをインストールしましょう。CocoaPodsが使えます。

① Podfileに以下のコードを追加

Podfile
pod 'AdGeneration'

② ターミナルから以下のコマンドを叩く

Terminal
pod install

2. メディエーションSDKもインストールする

Ad Generation AdMobメディエーション iOS SDK もインストールする必要があります。

これはCocoaPodsでインストールできないため、自力でプロジェクトに追加する必要があります。

① 以下のURLから、ADG-AdMobMediation-iOS.zip をダウンロードする。
https://github.com/AdGeneration/ADG-AdMobMediation-iOS-SDK/releases

② zipを解凍して、以下の3つのファイルをプロジェクトの適当な場所にドラッグ&ドロップする。

ADGAdMobMediation.h
ADGAdMobInterstitialMediation.h
libADGAdMobMediationX.X.X.a

③ Bulid Setting > Other Linker Flagsに設定を追加する

XcodeのプロジェクトのBuild Settingsをクリックし、検索窓にOther Linker Flagsと打ち込み、Other Linker Flags欄をダブルクリックして-ObjCを追加する。

スクリーンショット_2019-03-13_14_50_01.png

以上で、アプリ側の実装は完了です。

次は、AdMobもしくはGoogle Ad Managerの管理画面側の設定をしましょう。

3. 管理画面に設定を施す

Ad Generationのリファレンスを見ると、AdMobしか対応していないように思えますが、Google Ad Managerにも対応しています。

また、AdMobとGoogle Ad Managerは見た目は違いますが、入力する項目は以下で共通です。

項目 内容
ターゲットeCPM (自分の)アドジェネのレポートに出ているeCPMの1.2〜2倍が推奨値(※低すぎると広告が出ないので注意)
Label AdGeneration
Class Name ADGAdMobMediation
Parameter AdGeneration管理画面で設定した広告枠のid

頻繁にUIが変わるのでスクショは割愛しますが、以下が各メディエーション設定画面までの道のりです。↓↓

AdMobの場合

トップページ > メディエーション > すべてのアプリバナー > (広告ソース)カスタムイベントを追加 > メディエーション設定画面

Google Ad Managerの場合

トップページ > 配信 > 収益グループ > 設定する収益グループ > 収益パートナーを追加 > メディエーション設定画面

4. 実装完了

あとは、Ad Generaionの広告が表示されるのを確認できれば実装完了です。

おまけ. GADBannerView.adNetworkClassNameが実装確認に便利

実装確認といってもなかなか見分けづらいと思います。

さらに、Googleの広告を100%カットすることは出来ません。(アドジェネのターゲットeCPMを10,000円に設定しても出てきます。)なので、確認作業を目でやろうとすると結構骨が折れることになります。

そんな時は、GADBannerViewのプロパティ adNetworkClassName を使いましょう。これは広告がGoogle経由のものか、メディエーション経由のものかを教えてくれるもので、以下のような文字列を出力します。

Google広告の場合 メディエーション広告の場合
GADMAdapterGoogleAdMobAds GADMAdapterCustomEvents

GADBannerViewDelegateadViewDidReceiveAd(_ bannerView: GADBannerView)のタイミングとかで、ログに仕込んでおけば確認しやすいと思います。

ViewController.swift
extension ViewController: GADBannerViewDelegate {
 func adViewDidReceiveAd(_ bannerView: GADBannerView) {
   if let network = bannerView.responseInfo.adNetworkClassName {
      print("AdNetworkClassName: \(network)")
   }
 }
}

参考

Banner_Ad_iOS · AdGeneration/SDK Wiki
https://github.com/AdGeneration/sdk/wiki/Banner_Ad_iOS

AdMobMediation_Banner_Interstitial_Ad_iOS · AdGeneration/SDK Wiki
https://github.com/AdGeneration/sdk/wiki/AdMobMediation_Banner_Interstitial_Ad_iOS

Mediation  |  Mobile Ads SDK for iOS  |  Google Developers
https://developers.google.com/ad-manager/mobile-ads-sdk/ios/mediation/

13
11
4

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
13
11

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?