Unity

【Unityアプリ開発】バナー広告を実装する方法【主要なGoogle AdMobとUnity Adsについて】

本記事内には、アフィリエイトリンクを含む場合があります

スマホでゲームアプリを開発してストアに出しても、
ほとんどダウンロードされないのが、世の常です。

ましてや、それが有料ならば、なおさらハードルは高いでしょう。
(そのアプリの価値が知れ渡っているならば別にして・・)

なので、無料のアプリを出していくものなんですが、
ではどう稼ぐのかという話。

それは、ブログやYouTubeと同様、広告収入です。

アプリ開発するなら、広告を実装する方法は知っておかなければなりません。

そこで、本記事では、
Unityで開発するアプリに、広告を実装する方法を書き留めます。

 

1.主要な2社広告の違い

広告には、多様な形態(バナー広告や報酬ありきのビデオ広告など)があるので、
用途に応じて実装します。

私のような開発初心者は、
まず次の主要な2社の広告を知っておくと良いのかなと思います。

●Google社が提供する"Google AdMob"

●Unity社が提供する"Unity Ads"

両者の違いをざっくり説明すると、

Google AdMobは、より多様な形態(アプリ起動時や形のカスタマイズなど)で広告を打つことができ、広告の内容はユーザーが好むジャンルのモノが表示されます。

Unity Adsは、広告の内容がゲームであり、ゲーム好きなユーザーなら嫌気がさしにくいモノになる可能性があります。

その他、ゲームに実装する機能との相性も考慮して、実装します。
(エラーが出て実装できないなら、他にしよう^^;)

ちなみに、バナー広告、ビデオ広告、リワードビデオ広告(視聴で報酬あり)は両者とも実装可能です。

 

それでは、それぞれについて、”Androidアプリにバナー広告を実装する”を例に紹介します。

2.Google AdMob

2-1. プラグインのダウンロード&インポート

Google AdMob_Mobile Ads SDK(Unity)のスタートガイドから 、
Google Mobile Ads Unity プラグインをダウンロードします。

その際、Unity Editor向けの広告プレースメント(ベータ版)から、プラグインをダウンロードするようにしましょう。
※それ以外だとエラーが生じるっぽいです(2021年5月時点の実体験)。

Unity Editorを起動したら、まず開発環境(Switch Platformなど)を整えましょう。
(早めにやっておくと、時間がかかりませんので)

そして、Assetsタブ_Impot Package_Custom Packageから、
ダウンロードした「GoogleMobileAds-Ad-Placements.unitypackage」を選択します。

Importすると、次のようなウィンドウが出てきますが、
基本「Go ahead」、「Enable」で進みましょう。
「Package Manager Resolve」は何度も出てきてウザイですが、×で閉じときましょう(出しっぱでもよいかも)。

 

2ー2. Editor設定

図のように
Assets_External Dependency Manager_Android Resolver_Resolveを選択します。
問題なくSucceededすればOK。

ここで、いったんGoogleAdMobでAdMobアカウントを作成(or アカウントログイン)し、アプリIDを取得します。

ログインしたら、ダッシュボードから、
「アプリを追加」からアプリを作成します。
(まだ開発してストアに売ってなくてもOK)
すると、アプリIDというものが生成されると思います。

さらに、「広告ユニット」を作成していきます。

広告種類はバナーを選んで、わかりやすい広告ユニット名にしましょう。
すると、広告ユニットIDが生成されてると思います。

Editorに戻って、図のように
Assets_Google Mobile Ads_Settingを選択します。

Inspectorが「GoogleMobileAdsSetting」になっているので、
「Google AdMob」の「Enabled」にチェックを入れ、
App ID(アプリID)を入力します(今回はAndroidに)。

最後に、シーンにあるゲームオブジェクト(テストの場合、空のオブジェクト)に、バナー広告を表示するScriptを作成し、アタッチします。

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using GoogleMobileAds.Api;

public class AdMobTest : MonoBehaviour
{
   void Start()
    {
    #if UNITY_ANDROID
            string appId = "ca-app-pub-3940256099942544~3347511713";
    #elif UNITY_IPHONE
            string appId = "ca-app-pub-3940256099942544~1458002511";
    #endif
        MobileAds.Initialize(appId);
        RequestBanner();
    }

    private void RequestBanner()
    {
    #if UNITY_ANDROID
            string adUnitId = "ca-app-pub-3940256099942544/6300978111";
    #elif UNITY_IPHONE
            string adUnitId = "ca-app-pub-3940256099942544/2934735716";
    #endif
        // Create a 320x50 banner at the top of the screen.
        BannerView bannerView = new BannerView(adUnitId, AdSize.Banner, AdPosition.Top);
        // Create an empty ad request.
        AdRequest request = new AdRequest.Builder().Build();
        // Load the banner with the request.
        bannerView.LoadAd(request);
    }
}

広告の表示がどのようになるか確認テストをしたい場合、
appId(アプリID)およびadUnitId(広告ID)には、
このScriptの文字列※をそのまま入力します。
※これはテスト用IDです

AdMob管理画面で得たアプリIDと広告IDは、
商品を完成版としてビルドする際に、Scriptにそれぞれ入力します。

なお、AndroidとiPhoneの両方を記載していますが、
Androidだけなら、iPhoneのコード部分は削除してもかまいません。

ビルドして実機でもテスト確認しておくとよいでしょう(図はEditor内の実行ですが)。

エラーなく実装できたならば、広告の出し方に精を注ぎましょう。

3.Unity Ads

続いて、Unity Adsの広告実装も紹介します。

3-1. Editorに「Advertisement」をインストール

Unity EditorのWindowタブ_PackageManagerから、
「Advertisement」をインストールします。

これだけでEditorにUnity Adsの機能が積み込まれました!

 

3ー2. Unity AdsでProject作成とGameIDの取得

Windowタブ_General_Serviceをクリックすると、
Inspector横にUnity Adsの設定画面が出てきます。

Monetizeを有効化し、Test modeにチェックします。

そして、Go to Dashboardから、Unityアカウントにログインして、ProjectIDとGameIDを取得しにいきます。

ダッシュボードでMonetize_Projectsにいき、開発するアプリ用のProjectを作成します。

作成すると、自動でPlacementsに切り替わるはず。
(切り替わらなければ、左のPlacementsをクリック)

デフォルトでは、videoとrewardedvideoがセットされていますが、バナーはありませんので、「Add Placement」でIDはbannerなどとして、作成します。

そして、ここでGame IDも確認できるので、控えて(コピーして)おきましょう。
Android向けアプリなら、下のIDがGoogleストア用です。

※ちなみに、「Project Setting」からProjectの詳細情報を、一覧で確認できます。

3-3. 広告表示させるScriptをアタッチ

空のゲームオブジェクトを作成し、
そこにバナー広告を表示させるための以下のScriptをアタッチします。

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.Advertisements;


public class UAdsTest : MonoBehaviour
{
    public string gameId = ""; //"GameID"を入力
    public string bannerId = "banner";
    public bool testMode = true;
    // Start is called before the first frame update
    void Start()
    {
        Advertisement.Initialize(gameId, testMode);
        StartCoroutine(showBanner());
        
    }
    IEnumerator showBanner()
    {
        while(!Advertisement.isInitialized)
        {
            yield return new WaitForSeconds(0.3f); // 0.3秒後に広告表示
        }
        Advertisement.Banner.SetPosition(BannerPosition.TOP_CENTER); //バナーを上部中央にセット
        Advertisement.Banner.Show(bannerId);
    }
}

このScriptに、GameIDと広告IDを記載します。

実行すると、バナーが表示されますね。

TestModeは、完成版をビルドするまでは、有効にしておきましょう。

 

というわけで、
"Google AdMob"と"Unity Ads"のバナー広告のつけ方をそれぞれ紹介しました。

バナー広告は単純なコーディングで実装できますが、
動画広告などは、コーディングがより複雑になってきます。

その辺、私自身も整理がついたら、後日まとめたいと思います。

それでは^^

【Unity】オンラインのハイスコアランキングを実装する方法【WebGL・Android・IOS等に使える】Unityでゲームを作り始めると、 プレイするモチベーションを掻き立てるために、 ハイスコア機能をつけたくなりますよね? ネッ...
Unityのチュートリアルやエディターを日本語化する方法【英語に抵抗があっても大丈夫】Unityは、世界屈指のゲーム開発エンジンです。 ゲーム業界にとどまらず、XR技術によって、さまざまな事業を牽引する存在となるでし...
ABOUT ME
いなも@システマライフハッカー
”仙豆”を開発することを夢見て、健康食品会社で働いていたものの、2016年に出会ったロシアの武術”システマ”こそ、その糸口があると感銘し、勝手にシステマ普及活動を始める。 一方で、クリエイティブなモノ作りが好きで、DX社会で楽しみを見出せる"Unity”を活かして、”スマートかつ快適な暮らし”のヒントを発信している。

COMMENT

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA