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

f:id:clrmemory:20171116163935p:plain

こんにちはクリアメモリです!

今回はUnityで開発したアプリにAdMobメディエーションを導入する方法を紹介します。

導入方法自体はとても簡単なのでぜひやってみてください。

 

 

AdMobメディエーションとは

 

AdMobメディエーションとは、アプリなどに表示する広告にAdMob以外の広告サービスを表示できるというものです。

さらに、その時々によって最適な広告を表示することもできます。

 

まずはその設定に入ります。

(AdMobへの登録は済ませておいてください。)

 

メディエーション設定

 

まず、AdMobの管理画面にアクセスします。

収益化 > 新しいアプリの収益化 > アプリ名選択 > バナーまたはインタースティシャルの選択と進んで広告枠を作成します。

追加された広告枠にメディエーションという枠がありますので「○個の広告ソース」を選択します。

 

 

 

この画面から他の広告サービスを選択しましょう。「新しい広告サービス」を選択します。

 

 

すると、いろいろな広告サービスを提供している会社がずらっと表示されるので、メディエーションとして登録したいサービスを選択しましょう。

 

 

これでメディエーションの登録は完了です。

(広告サービスによってアプリ内に導入する方法が変わるのでそれぞれ設定しましょう。)

 

Unityに導入する

 

こちらからUnity用のパッケージをダウンロードしましょう。

AdMob SDK

リンク先のページ内にあるこのようなボタンを探しましょう。

 

 

ダウンロードした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をこのように変更しましょう。

 

 

次にFrameworkを追加します。

 

AudioToolbox

AVFoundation

MessageUI

CoreGraphics

CoreTelephony

AdSupport

EventKit

EventKitUI

StoreKit

SystemConfiguration

 

を追加していきます。

(起動時に自動で追加されるものもあります)

次は、Other Linker Flagsに「-ObjC」を設定します。

 

 

そして、Build Phases > Compile Sourcesの中にある「GAD〜」というファイルのFlagに「-fno-objc-arc」を指定しましょう。

 

 

これでとりあえずビルドできると思います。広告の表示位置や、タイミングなどは自由に変更してください。

 

まとめ

 

AdMobメディエーションを使うことで、アプリ内の広告を最適化することができるようになります。

また、1つの広告サービスが表示されなくなったりした場合の対処が素早くできるようになるので、万が一のために導入したほうが良いと思います。

 

ではまた。

 

新着記事