0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【備忘録】リリース用にビルドしたアプリでAdmob広告が表示されない時の対応(Android)

Last updated at Posted at 2025-07-03

【Unity AdMob】開発ビルドを外すと広告が出ない問題の解決メモ

✅ 環境

  • Unity 6000.0.47.f1
  • GoogleMobileAds v10.2.0
  • Androidビルド

✅ 概要

開発ビルドのチェックを外してリリース用にビルドすると、AdMob広告が一切表示されなくなる

スクリーンショット 2025-07-04 001444.png


✅ 結論

Proguardファイルにルールを追加することで解決
(詳細は下記「解決法」を参照)


✅ 経緯

  • リリース用にビルドした時、なぜか広告が表示されない(テストIDでも表示されない)
  • logcatで確認したところ、以下のエラーが発生:
logcatログ
AndroidJavaException: java.lang.ClassNotFoundException: com.google.android.gms.ads.initialization.OnInitializationCompleteListener
  • AdMob(Google Mobile Ads)のJavaクラスが見つからないというエラー。

✅ 原因として考えられる点

  1. UnityのAndroidビルドにGoogle Mobile Adsの必要なAAR/JARが含まれていない
  2. バージョン不整合(古いプラグインが古いSDKを要求してるのにない)
  3. Proguard/R8でクラスが削除されている
    → だからJava側でそのクラスをロードできない

上から2点は問題なし(最新バージョンをインポート済み、ファイルも特にいじってない)。
つまり Proguard/R8でクラスが削除されている のが原因と推定。


✅ 解決法

UnityのProguardファイルにルールを追加する

ファイルの場所:Assets/Plugins/Android/proguard-user.txt
以下を追記する:

proguard-user.txt
-keep class com.google.android.gms.ads.** { ; }
-keep interface com.google.android.gms.ads.* { *; }

これにより、Google Play Services Ads SDKの全クラスとインターフェースを保護できる。


✅ Unity設定

  • Player Settings > Publishing Settings > カスタムプロガードファイルを有効化

スクリーンショット 2025-07-04 002500.png


✅ External Dependency ManagerでResolve

一応Resolverで「Resolve」する:
Assets > External Dependency Manager > Android Resolver > Resolve


✅ 結果

  • これで再ビルドしたところ、広告が無事表示されるようになった!

以上、「リリース用ビルドだと広告が出ない(テストIDでも)」問題 の解決メモでした。
ついでにこの件で作成したゲームでも見て行ってください。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?