アプリに広告を出す手段に、GoogleAdmobという物があると知ったので、試しに「点数計算機メモるくん」に搭載してみた。
今回は、プログラム実装方法。
1:まずは、Admob実装用のSDKをダウンロードしてくる。
ここに飛んだら、
GoogleMobileAds.unitypackage
をダウンロードして、Unityプロジェクトに展開する。
2:実装
using UnityEngine; using System; using System.Collections; using GoogleMobileAds.Api; public class GoogleAdmobManager : Singleton<GoogleAdmobManager> { private InterstitialAd InterstitialAd = null; #if false // 広告ユニット ID を記述します private string adUnitId = "ca-app-pub-3940256099942544/1033173712";// テストらしい #else private string adUnitId = "ca-app-pub-**/**";// こっちは、本番 #endif public void Initialize() { InterstitialAd = new InterstitialAd(adUnitId); InterstitialAd.OnAdFailedToLoad += OnAdFailedToLoad; InterstitialAd.OnAdLoaded += OnAdLoaded; InterstitialAd.OnAdClosed += OnAdClosed; } public void OnAdLoaded(object sender, System.EventArgs arg) { InterstitialAd.Show(); } public void OnAdClosed(object sender, System.EventArgs arg) { } public void OnAdFailedToLoad(object sender, AdFailedToLoadEventArgs arg) { } public bool IsInitialized() { return InterstitialAd.IsLoaded(); } // 流れとしては // LoadAd->ちょっとかかる->OnAdLoaded->Show()で表示 // Show()を行うと、自動的にLoadAdが呼び出されて準備が整うっぽい public void ShowAdmob() { #if UNITY_EDITOR #else AdRequest request = new AdRequest.Builder().Build(); InterstitialAd.LoadAd(request); #endif } }
これで、ShowAdmob()を呼び出すたびに、広告が表示される。
LoadAdとか一回やればいいんじゃね?とも思ったのだが、それだとどうもうまく行かなかった。