LoginSignup
5
10

More than 5 years have passed since last update.

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

Last updated at Posted at 2017-04-24

目的

同じような記事は多々ありそうですが、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

5
10
0

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
5
10