UnityでのAdmob実装
無料アプリ開発では広告が重要になりますが、まずはGoogleのAdmobを利用します。
以下がUnityでのAdmob実装方法です。
Google公式解説
https://developers.google.com/mobile-ads-sdk/docs/games#unity
AdMobManager.cs
using UnityEngine; using System.Collections; using GoogleMobileAds.Api; public class AdMobManager : MonoBehaviour { public string Android_Banner; public string Android_Interstitial; public string ios_Banner; public string ios_Interstitial; public static BannerView bannerView; public static InterstitialAd interstitial; private AdRequest request; bool is_close_interstitial = false; // Use this for initialization void Awake () { RequestInterstitial (); RequestBanner (); } // Update is called once per frame void Update () { } // public void RequestBanner() { #if UNITY_ANDROID string adUnitId = Android_Banner; #elif UNITY_IPHONE string adUnitId = ios_Banner; #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. request = new AdRequest.Builder() .AddTestDevice(AdRequest.TestDeviceSimulator) // Simulator. .AddTestDevice("xxxxxxxxxxxxxx") // My test Device. .Build(); // Load the banner with the request. bannerView.LoadAd(request); } public void RequestInterstitial() { #if UNITY_ANDROID string adUnitId = Android_Interstitial; #elif UNITY_IPHONE string adUnitId = ios_Interstitial; #else string adUnitId = "unexpected_platform"; #endif if (is_close_interstitial == true) { } // Initialize an InterstitialAd. interstitial = new InterstitialAd (adUnitId); // Create an empty ad request. request = new AdRequest.Builder() .AddTestDevice(AdRequest.TestDeviceSimulator) // Simulator. .AddTestDevice("xxxxxxxxxxxxxx") // My test Device. .Build(); // Load the interstitial with the request. interstitial.LoadAd (request); interstitial.AdClosed += HandleAdClosed; } //Interstitialの破棄と再読み込み void HandleAdClosed (object sender, System.EventArgs e) { interstitial.Destroy (); RequestInterstitial (); } }
あとは広告を表示したい箇所で任意に表示・非表示を切り替え
//バナー表示 AdMobManager.bannerView.Show(); //バナー非表示 AdMobManager.bannerView.Hide(); //全画面広告の表示 AdMobManager.interstitial.Show();
※全画面広告の場合は、表示後ユーザーが消した後バックグラウンドで次の広告をリクエストします。
全画面広告はあまりに高い頻度で表示するのは好まれないため、3~5回に一回にしました。