UnityでAdMobを導入する際に発生したエラーと、その解決方法をまとめました。プラットフォームはAndroidです。
広告
UnityでAdMobの導入に成功した環境
Unity LTS リリース版 2019.4.15f1
AdMob GoogleMobileAds-v5.4.0.unitypackage
導入方法
スタートガイド Unity Google Developers
操作A
まず、よく使う操作を紹介します。AdMob導入時のエラーは、これで大体解決します。各エラーの解決方法を手順に沿って進めて、この操作をする案内があった時に、操作してください。
1[Unity Hub] インストール > モジュールを加える へ移動し、以下のモジュールが追加されていることを確認。
- Android Build Support
- Android SDK & NDK Tools
- OpenJDK
2[Unity] Edit > Prefarences > External Tools へ移動。
3以下の項目のチェックボックスを外し、チェックを付け直す。
- JDK Installed with Unity (recommended)
- Android SDK Tools Installed with Unity (recommended)
- Android NDK Installed with Unity (recommended)
- Gradle Installed with Unity (recommended)
Resolving Android Dependenciesのプログレスバーが動かない(止まる)
AdMobのGoogleMobileAds-v5.4.0.unitypackageを読み込む時に発生したエラーです。エラーメッセージは以下の通りです。
FAILURE: Build failed with an exception. * What went wrong: Could not create an instance of type org.gradle.initialization.DefaultSettings_Decorated. > Could not initialize class org.codehaus.groovy.reflection.ReflectionCache * Try: Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights. * Get more help at https://help.gradle.org BUILD FAILED in 19s exit code: 1
1エラーが出たウインドウを [×] で閉じます。
2操作Aの操作をします。
3Assets > External Dependency Manager > Android Resolver > Force Resolveをクリック。プログレスバーが動けば成功です。
Failed to update Android SDK package list.
Androidのビルド時に発生したエラーです。
1操作Aの操作をします。
2再度、ビルドし、エラーが出ないことを確認してください。
Unity Editorでは広告が表示されるのに、実機(Android)では広告が表示されない
インタースティシャル広告を利用している場合は、まず、バナー広告で試してみて問題を切り分けましょう。
バナー広告もインタースティシャル広告も表示されない
AdMob導入時に「Resolving Android Dependenciesのプログレスバーが動かない(止まる)」のエラーは発生していませんでしたか?エラーが発生している場合は、エラーを解消してください。
バナー広告は表示されて、インタースティシャル広告は表示されない
インタースティシャル広告を表示させるスクリプトに問題がありそうです。インタースティシャル広告を表示させるメソッドをStart()の中で呼び出している場合は、スクリプトを書き換えてください。広告をロードするのに十分な時間を取る必要があります。
広告
おわりに
AdMobを導入するのに丸2日費やしてしまいました。参考になれば幸いです。
エラーを出さないために心がけたいこと
- UnityのLTS版を使い、無闇にバージョンアップ、バージョンダウンをしない。
- よくわからないエラーが出たときは、新しく空のプロジェクトファイルを作り、問題を切り分ける。