Unityで作ったアプリにAdmobのテスト広告が、エディターでは見れるのに実機に反映されない。という状況について試行錯誤の記録です。
Androidアプリ開発超初心者で恐縮すが、色々なサイトにお世話になったので私も備忘として残しておきます。
・発生時:2024/3/20
・Unityバージョン:2022f.3.21f1
・実機:Galaxy41 OSバージョン11
・状況:Admobのバナー広告(テストID)が実機では表示されない。Unity上にエラーログもでない。
アプリはリリースしておらず、Admobでは審査中の状態。
やったこと
①Resove
Unityで、
「Asset→Eternal Dependency Manger→Android Resolver→Resolve」
②ForceResove
「Asset→Eternal Dependency Manger→Android Resolver→ForceResolve」
→ビルド
→解消しない・・・実機のログを見るしかない・・・
③AndroidStudioに登録して、logcatを見る
フィルタリング方法がよくわからなかったのでads と入力
実行してみたらこんなエラーが!
Configuration `releaseRuntimeClasspath` contains AndroidX dependencies, but the `android.useAndroidX` property is not enabled, which may cause runtime issues. See the Console for details.
ChatGPT先輩に助けを求めると以下のお達し。
AndroidX サポートがプロジェクトで有効になっていることを確認します。AndroidX は、元の Android サポート ライブラリを大幅に改善したものであり、新しいプロジェクトにはこれを使用することをお勧めします。AndroidX を有効にするには、
gradle.properties
ファイルに次の行を追加します
android.useAndroidX=true
android.enableJetifier=true
アプリ\Library\Bee\Android\Prj\Mono2x\Gradle のプロパティーファイルに追記してみた
→解消しない(怒^^)
④冷静になろう。unityのwarningを確認。
Resolving to Android package directory Assets\plugins\Android instead of the requested target directory Assets\Plugins\Android Is Assets\plugins\Android in a different case to Assets\Plugins\Android ?
→Assets配下のpluginsのPが大文字じゃないのがダメっぽい?だからResolveがうまくいっていないのかも。
→pluginsをPluginsに書き換え。
⑤ダメ押しでもう一回ForceResolve
→ビルドエラーになった!逆に進捗してるかも
エラーメッセージ:
Exception while marshalling C:\Program Files\Unity\Hub\Editor\2022.3.21f1\Editor\Data\PlaybackEngines\AndroidPlayer\SDK\build-tools\32.0.0\package.xml. Probably the SDK is read-only
⑥上記の記事を拝見!
Project Setting>Player>Other Settings IdentificationでAPIレベルをAndroid 11.0 (API level 30)を選択した上で再ビルド。(OSが11なので)
→できたーーーー!(喜)(泣)
正直どこが効いているのかわからないのですが、ちゃんとwarningメッセージも解決しないといけないと学びました。