UnityアプリにAdMobメディエーションを導入する方法

今回はUnityで開発したアプリにAdMobメディエーションを導入する方法を紹介します。
 
導入方法自体はとても簡単なのでぜひやってみてください。

AdMobメディエーションとは

 
AdMobメディエーションとは、アプリなどに表示する広告にAdMob以外の広告サービスを表示できるというものです。
さらに、その時々によって最適な広告を表示することもできます。
 
まずはその設定に入ります。
(AdMobへの登録は済ませておいてください。)
 

メディエーション設定

 
まず、AdMobの管理画面にアクセスします。
収益化 > 新しいアプリの収益化 > アプリ名選択 > バナーまたはインタースティシャルの選択
と進んで広告枠を作成します。
 
追加された広告枠にメディエーションという枠がありますので「○個の広告ソース」を選択します。
 
20170513171247
 
この画面から他の広告サービスを選択しましょう。
「新しい広告サービス」を選択します。
 
20170513171658
 
すると、いろいろな広告サービスを提供している会社がずらっと表示されるので、メディエーションとして登録したいサービスを選択しましょう。
 
20170513171236
 
これでメディエーションの登録は完了です。
(広告サービスによってアプリ内に導入する方法が変わるのでそれぞれ設定しましょう。)
 

Unityに導入する

 
こちらからUnity用のパッケージをダウンロードしましょう。
AdMob SDK
 
リンク先のページ内にあるこのようなボタンを探しましょう。
 
20170513171405
 
ダウンロードしたpackageをダブルクリックし、Unityにインポートします。
さらにXcodeでつかうフレームワークなどをダウンロードします。
 
AdMob for iOS
 
ここでダウンロードした「GoogleMobileAds.framework」「Mediation Adapters」をPlugin > iOS 内に配置します。
次に実際に広告を表示するコードを作成しましょう。UnityにAdMobを導入するときに使われるコードはあまり多くありません。
 
バナー広告
インタースティシャル広告
 

このようなスクリプトを作成し、空のオブジェクトに追加しましょう。
 
ここで追加したコードにあるRequestBanner()やRequestInterstital()を任意のタイミングで呼び出します。
_interstitial.Show();
などで表示することができます。
 
また、以下のようなコードを追加することで、インタースティシャル広告が閉じられたら削除することができるようになります。
 
if(is_close_interstitial == true){
_interstitial.Destroy ();
}
 
これをしないと、使い終わったインタースティシャル広告がずっと残ってしまいます。
動作が重くなったり、クラッシュする原因になるので追加しましょう。
 
これで導入は完了します。
 

Xcodeの設定

 
Unityへの導入は完了したのですが、このままだとビルドしたときにエラーが発生します。
BuildSettingsをこのように変更しましょう。
 
20170513171626
 
次にFrameworkを追加します。
 
AudioToolbox
AVFoundation
MessageUI
CoreGraphics
CoreTelephony
AdSupport
EventKit
EventKitUI
StoreKit
SystemConfiguration
 
を追加していきます。
(起動時に自動で追加されるものもあります)
 
次は、Other Linker Flagsに「-ObjC」を設定します。
そして、Build Phases > Compile Sourcesの中にある「GAD〜」というファイルのFlagに「-fno-objc-arc」を指定しましょう。
 
20170513171419
 
これでとりあえずビルドできると思います。
広告の表示位置や、タイミングなどは自由に変更してください。
 

まとめ

 
AdMobメディエーションを使うことで、アプリ内の広告を最適化することができるようになります。
また、1つの広告サービスが表示されなくなったりした場合の対処が素早くできるようになるので、万が一のために導入したほうが良いと思います。
 
ではまた。

おすすめの記事