LoginSignup
4
2

More than 3 years have passed since last update.

UnityでAdMobを利用する(テスト広告)

Last updated at Posted at 2019-11-11

はじめに

この内容は Google AdMob を利用してテスト広告を表示し
全体の流れを把握する目的で調査した内容のメモ書きです。

Google AdMob のガイドがわかりやすいので、そちらを参照すれば解決します。
テスト広告表示までのポイントと詰まった個所を投稿します。

  • 環境
    • Unity 2019.1.14f1
    • Windows10 1903

Google AdMob の ガイド

ポイント

  • IDはアプリIDと広告ユニットIDの2つあります。
  • アプリはその名の通り、アプリに対して1つです。(AndroidとiOSは個別に取得)
    • Unityのエディタで登録(Assets > Google Mobile Ads > Settings... )できます。
  • 広告ユニットは、アプリに対して登録できます。(アプリに対して複数登録できます)
    • 広告の種類は4パターンあります。(下のコードはバナー広告)
    • 広告ユニットID は 広告クラスのコンストラクタの引数で指定します(adUnitId)
  • アプリ・広告ユニットはAdMob の管理サイトで管理します
    • 開発目的では、広告ユニットIDはテスト広告専用のIDを利用します。
      • 実際のIDを使った場合は規約違反となるため注意します。

詰まった点

バナー広告のガイドを参照しながら、モバイル広告の初期化 MobileAds.Initialize() に
appId を引数に与えると動作しませんでした。
Assets > Google Mobile Ads > Settings... で指定しており
コードで指定するのも冗長で妙だと思い、スタートガイドの初期化に変更したら正常に動作しました。
(appId を引数として与えるコーディングは古いバージョンのものだろうか?)

using UnityEngine;
using GoogleMobileAds.Api;

public class GoogleMobileAdsDemoScript : MonoBehaviour
{
    private BannerView bannerView;

    // Start is called before the first frame update
    void Start()
    {
        MobileAds.Initialize(initStatus => { });

        this.RequestBanner();
    }

    private void RequestBanner()
    {
#if UNITY_ANDROID
        string adUnitId = "ca-app-pub-3940256099942544/6300978111";
#elif UNITY_IPHONE
        string adUnitId = "ca-app-pub-3940256099942544/2934735716";
#else
        string adUnitId = "unexpected_platform";
#endif

        bannerView = new BannerView(adUnitId, AdSize.SmartBanner, AdPosition.Top);

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

        bannerView.LoadAd(request);
    }
}
4
2
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
4
2