先日作ったUnityアプリにAdMobの広告を導入したんですが、
どうしてもAndroid端末で広告が表示されませんでした。
色々試してみて、ようやく原因が判明したのでメモしておきます。
AdMobをUnityで実装する方法
AdMobをUnityに実装する方法は、ネットで調べるとたくさん出てくるので、ここでは細かく書きません。
とりあえず、AdMobのSDK導入手順の通りにやれば大体の人は問題ないはず。
もっとわかりやすく教えて欲しいという人は下記の記事あたりが親切です。
[Unity] AdMob 広告をAndroidに実装する
https://uni.gas.mixh.jp/unity/android-admob.html
AdMob広告がなぜかAndroid端末で表示されない。。
上で紹介している記事の通りにやればできるはずなんですが、僕の場合、なぜか一向に表示されません。。
AdMobで新しい広告ユニットを作ってやる場合、人によっては1日くらい待たないと広告が表示されないっていう話もネットで目にしたので、3日くらい待ってみたのですが、結局表示されず。。。
何かしらの設定ミスがあるかもしれないということで、再度調査することにしました。
とりあえず、Android Studioに繋いでみた
Android端末で広告が表示されないのは、何かしらのエラーが出ていることが原因なのかもしれないと思い、Android StudioにAndroid端末を接続して、エラーログが出ていないか調べることにしました。
LogCatにはこんな感じのメッセージが。
Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.android.gms.ads.MobileAds"
GoogleのMobileAdsが見つからないとのエラー。
でもUnity上ではちゃんとライブラリを読み込んでいるはずだけど。。。
Admob広告が表示されない場合の解決法
で、最終的に解決した方法が以下です。
確か「Unity Admob ClassNotFoundException」でググったら出てきました。
I resolved this by changing the player settings 'Minify' under publish settings from proguard to none.
UnityのPlayer Settingsの「Minify」をProguardからNoneにする方法。
ダメ元でこの設定でビルドし直してみたら無事AdMob広告が表示されるようになりました。よかった。。。
こうゆうSDKって開発環境が違うと結構厄介なことになりますね。。。
もし広告が表示されなくて悩んでいる人がいたら試して見る価値はあると思います。