AdMob

UnityでAdMob広告を実装する リワード広告

Unity Google AdMob 導入解説!

リワード広告の設定方法について

最初に

アプリ開発を続けていくうえで、「収益化」は避けては通れない重要な要素の一つです。

Google AdMobは、Unityで広告を実装する際に、よく使用されているプラットフォームとなります。

この記事では、そんなAdMobを使ったUnityでの広告表示の方法について解説します。

今回は、Unity上でのAdMobの実装について解説していきます。

投稿時のバージョン

Unity 6000.0.23f1

AdMob 9.2.1

目次


Google AdMobの初期化

広告を表示するには、まずAdMobを初期化する必要があります。

必要なスクリプトを作成

Unityのプロジェクトビューで新しいC#スクリプトを作成し、名前を「AdMobManager」にします。


初期化コードを記入

AdMobを初期化するコードを記入します。

using GoogleMobileAds.Api;

public class AdMobManager : MonoBehaviour
{
    void Start()
    {
        // AdMobの初期化
        MobileAds.Initialize(initStatus =>
        {
            Debug.Log("AdMob Initialized");
        });
    }
}

スクリプトをシーンに適用

空のGameObjectを作成し、名前をAdMobManagerに変更します。

その後、作成したスクリプトをアタッチします。

リワード広告の実装

次に、リワード広告を表示するためのコードを記述します。

広告ユニットIDの取得

AdMobの管理画面から、作成したバナー広告のユニットIDをコピーします。

テスト時はテスト用広告IDを使用してください。

テスト広告ID

Android: ca-app-pub-3940256099942544/5224354917

iOS: ca-app-pub-3940256099942544/1712485313

    // リワード広告
    private RewardedAd rewardedAd;
    private string adRewardedId;   
 
    // リワード広告インスタンス
    private RewardedAd rewardedAd;

    // リワード広告ユニットID
    private string adUnitId;

    private void Start()
    {
        // AdMobの初期化
        MobileAds.Initialize(initStatus =>
        {
            Debug.Log("AdMob Initialized");
        });

        // 広告ユニットIDをプラットフォームごとに設定
#if UNITY_ANDROID
        adUnitId = "ca-app-pub-3940256099942544/5224354917"; // Androidテスト用広告ユニットID
#elif UNITY_IPHONE
        adUnitId = "ca-app-pub-3940256099942544/1712485313"; // iOSテスト用広告ユニットID
#else
        adUnitId = "unexpected_platform";
#endif

        LoadRewardedAd();
    }

②広告のロードと表示
using GoogleMobileAds.Api;
using System;
using UnityEngine;

public class AdMobManager : MonoBehaviour
{
    // リワード広告インスタンス
    private RewardedAd rewardedAd;

    // リワード広告ユニットID
    private string adUnitId;

    private void Start()
    {
        // AdMobの初期化
        MobileAds.Initialize(initStatus =>
        {
            Debug.Log("AdMob Initialized");
        });

        // 広告ユニットIDをプラットフォームごとに設定
#if UNITY_ANDROID
        adUnitId = "ca-app-pub-3940256099942544/5224354917"; // Androidテスト用広告ユニットID
#elif UNITY_IPHONE
        adUnitId = "ca-app-pub-3940256099942544/1712485313"; // iOSテスト用広告ユニットID
#else
        adUnitId = "unexpected_platform";
#endif

        LoadRewardedAd();
    }

    public void LoadRewardedAd()
    {
        //広告が残っていたら削除
        if (rewardedAd != null)
        {
            rewardedAd.Destroy();
            rewardedAd = null;
        }

        var adRequest = new AdRequest();

        //広告をロード
        RewardedAd.Load(adUnitId, adRequest,
            (RewardedAd ad, LoadAdError error) =>
            {
                if (error != null || ad == null)
                {
                    Debug.LogError("Rewarded ad failed to load an ad " + "with error : " + error);
                    return;
                }

                Debug.Log("Rewarded ad loaded with response : " + ad.GetResponseInfo());

                rewardedAd = ad;
            });
    }

    //リワード広告を再生
    public void ShowRewardedAd()
    {
        const string rewardMsg =
            "Rewarded ad rewarded the user. Type: {0}, amount: {1}.";

        if (rewardedAd != null && rewardedAd.CanShowAd())
        {
            rewardedAd.Show((Reward reward) =>
            {
                //ここに報酬を与える処理を追加
                Debug.Log(String.Format(rewardMsg, reward.Type, reward.Amount));
            });
        }
    }
}

③広告を再生する関数をボタンから呼び出し

Unityでボタンを追加し、ShowRewardedAd()を呼び出してください。


④広告を再生

再生して、以下のように表示されていたら成功です!


最後に

これでAdMobを使用した、Unityへのリワード広告の実装が完了しました。

簡単に実装できるので、広告表示を考えている人はぜひ試してみてください!


参考資料
広告をテストする方法 - Google AdMob ヘルプ
デモ広告、テストデバイス、広告インスペクタを使用して、広告が適切に動作しているかどうかをテストします。#testads 広告が適切に実装されているかテストすることは、アプリの開発において重要な意味を持ちます。ただし、テスト目的であっても、サ...

コメント

タイトルとURLをコピーしました