Unityで作ったアプリにAdMobで広告を追加したお話 Android編

目的

同じような記事は多々ありそうですが、Unityで製作したAndroid/iOSのアプリにAdMobの広告を追加したので、自分のために忘備録として残して置きます。

環境

  • Unity 5.4.0f3

準備

AdMobの登録

  • AdMobに登録し、Androidの広告ユニットIDを用意

GoogleMobileAdsPluginの設定

  • こちらからGoogleMobileAds.unitypackageをダウンロードし、unityでインポート

実装

  1. 広告を表示したいsceneに空のGameObjectを追加します。今回はオブジェクト名はBannerとしました。
  2. 追加したオブジェクトに下記のスクリプトを追加します。
  3. INSERT_ANDROID_BANNER_AD_UNIT_ID_HEREを用意した広告ユニットIDに置き換える。
  4. テストバナーを表示したい場合は、INSERT_TEST_DEVICE_ID_HEREをテスト端末のデバイスIDに置き換える。
  5. バナーを表示したいタイミングでRequestBanner()を呼びだす。(今回はsceneの表示と同時に呼び出すようにしています)
  6. バナーを消したいタイミングでStopBanner()を呼び出す。(呼び出さないとsceneを変更しても出っぱなしになる)
  7. ビルドして端末にインストールする。
BannerControl.cs
using UnityEngine;
using System.Collections;
using GoogleMobileAds.Api;


public class BannerControl : MonoBehaviour {

    private BannerView bannerView;

    void Start () {
        //ページの読み込みと同時にバナーを作成
        RequestBanner ();
    }

    void Update () {

    }

    //バナーを作成
    private void RequestBanner()
    {
        #if UNITY_EDITOR
        string adUnitId = "unused";
        #elif UNITY_ANDROID
        string adUnitId = "INSERT_ANDROID_BANNER_AD_UNIT_ID_HERE";
        #elif UNITY_IPHONE
        string adUnitId = "INSERT_IOS_BANNER_AD_UNIT_ID_HERE";
        #else
        string adUnitId = "unexpected_platform";
        #endif

        // Create a 320x50 banner at the top of the screen.
        bannerView = new BannerView(adUnitId, AdSize.Banner, AdPosition.Top);

        // Create an empty ad request.
        //AdRequest request = new AdRequest.Builder().Build();

        //Create a test ad request.
        AdRequest request = new AdRequest.Builder()
        .AddTestDevice(AdRequest.TestDeviceSimulator)       // Simulator.
        .AddTestDevice("INSERT_TEST_DEVICE_ID_HERE")  // My test device.
        .Build();

        // Load the banner with the request.
        bannerView.LoadAd(request);
    }

    //バナー表示の停止
    public void StopBanner()
    {
        bannerView.Hide ();
        bannerView.Destroy();
    }

テスト用端末のデバイスIDの取得

調査中...

テストバナーが不要の場合

上記のコードからの下記の部分を削除し、AdRequest request = new AdRequest.Builder().Build();のコメントアウトを外してください。

//Create a test ad request.
AdRequest request = new AdRequest.Builder()
.AddTestDevice(AdRequest.TestDeviceSimulator)       // Simulator.
.AddTestDevice("INSERT_TEST_DEVICE_ID_HERE")  // My test device.
.Build();

おわりに

これで問題がないのかちょっと不安ですが、とりあえず表示まではできました。
ターゲット設定などの各種設定については参考サイトをご覧ください。

参考サイト

スタートガイド | AdMob by Google | Firebase
https://firebase.google.com/docs/admob/unity/start?hl=ja

Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account log in.