状況
Admobを入れてAndroidビルドすると以下のようなエラーがlogcatに出てしまい、実機で広告が出なくなりました。
AndroidJavaException: java.lang.ClassNotFoundException: com.google.android.gms.ads.initialization.OnInitializationCompleteListener Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.android.gms.ads.initialization.OnInitializationCompleteListener" on path: DexPathList AndroidJavaException: java.lang.ClassNotFoundException: com.google.android.gms.ads.AdRequest$Builder
環境
Unity: 2022.3.11f
Admob: v8.5.2
対処法
上に書いてある通り、
1.
Project Setting > Player > Publishing Settingsで
minifyのReleaseにチェックが入っている状況になっているので、この状態で、少し上の項目のBuildからCustom Proguard Fileにチェックを入れます。
2.
Assets/Plugins/Android/proguard-user.txtというファイルが生成されるのでそこに参考記事で紹介してあるproguard-user.txtを貼り付けます。
### AdMob -keep class com.google.unity.** { *; } -keep public class com.google.android.gms.ads.** { public *; } -keep public class com.google.ads.** { public *; }
感想
minifyするならproguard file必要だし、しないなら、必要ないということで理解しました。
原因としては以前proguardの設定はしていたのですが、Admobを新しくするときに、Admob関連のPluginフォルダのファイルを全部一旦削除したときに、誤って、proguard fileも削除してしまっていたようです。