いんでぃーづ

ゲームいろいろ、いろいろ自由

Unity : ゲーム画面にAdmobを表示する一番かんたんな方法

Admob表示させるだけなら、アセットなんて買わなくたってできます

なにせ本元GoogleさんからUnity用のプラグインが出ているのである。

github.com

なお、すでにAdmobのアカウントは取得済みで、広告も作成済みとします。

Unityプラグインを導入してみる

まずは上記サイトから、GoogleMobileAds.unitypackage をダウンロードしましょう。

Unityを開いた状態で、ダウンロードしたファイルをダブルクリックすると、自動でプロジェクトへのインポートが行われます。

ソースの先頭に以下の一行を加えたら、準備完了です。

using GoogleMobileAds.Api;

バナー広告を表示する

バナー広告というのは画面に常に出ているタイプの小さな広告です。
以下のようなコードで表示できます。

BannerView ShowBannerView = new BannerView("AdmobのユニットID", AdSize.Banner, AdPosition.Bottom);

AdRequest.Builder builder = new AdRequest.Builder();
AdRequest request = builder.Build();

// 表示する
ShowBannerView.LoadAd(request);

インタースティシャル広告を表示する

インタースティシャル広告とは、全画面に表示される 収益性の高い広告 です。

こちらは表示させる前に初期化が必要です。

// 広告を初期化する
InterstitialAd interstitial = new InterstitialAd(Globals.ADMOB_INTERSTITIAL_UNIT_ID); 
AdRequest.Builder builder = new AdRequest.Builder();
AdRequest request = builder.Build();

// 広告が表示可能になったときのコールバック
interstitial.OnAdLoaded += (handler, EventArgs) =>
        {
              // 広告を表示する
              interstitial.Show();
        };

// 広告が閉じられたときのコールバック
interstitial.OnAdClosed += (handler, EventArgs) =>
        {
              // 後処理
              interstitial.Destroy();
        };

// 広告がエラーになったときのコールバック
interstitial.OnAdFailedToLoad += (handler, EventArgs) =>
        {
              // エラー処理
              Debug.Log("err!");
              interstitial.Destroy();
        };

// インタースティシャル広告のロード
interstitial.LoadAd(request);

テストデバイスを追加する

バイスごとに固有のIDを使うと、そのデバイスのみ、収益が発生しないテスト用の広告を表示させることができます。

// テストデバイスのリスト
string[] TestDeviceList = new string[] {
       "xxxxxxxxxxxxxx", "yyyyyyyyyyyyy"
};

foreach (var deviceId in TestDeviceList)
{
       builder.AddTestDevice(deviceId);
}
AdRequest request = builder.Build();

バイスIDは、デバイス上で本番用の広告を表示させたときに、ログに出力されます。
Androidならadb, iOSならXcode上で確認することができます。

iOSビルド時に必要なこと

AppStoreにアップロードするとき、Info.plist に以下のプロパティを含める必要があります。

NSCalendarsUsageDescription - Advertisement would like to create a calendar event.
NSBluetoothPeripheralUsageDescription - Advertisement would like to use bluetooth.
NSCameraUsageDescription - Advertisement would like to use Camera.

これを入れないとアップロードに失敗するので注意。
こちらのサイトを参考にしました。

最近のUnityだとPlayer Settingsから設定できるみたいです。

f:id:sugar_affordance:20170125200833p:plain

本家サイト

https://developers.google.com/mobile-ads-sdk/docs/games


“Unity” and Unity logos are trademarks or registered trademarks of Unity Technologies or its affiliates in the U.S. and elsewhere, and are used under license.


免責事項

当サイトの広告バナー、リンクによって提供される情報、サービス内容について、当サイトは一切の責任を負いません。

また、当サイトの情報を元にユーザ様が不利益を被った場合にも、当サイトは一切の責任を負いません。

すべて自己責任でお願いします。