質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
AdMob

AdMobは、事前に指定した条件に従ってアプリに広告を表示するGoogleのサービス。開発者の向けのサービスで、広告を掲載することにより、収益を得ることが可能です。その他、見た目や雰囲気などアプリに合う広告に変更したり、広告表示の場所を指定することもできます。

Unity

Unityは、Unity Technologiesが開発・販売している、IDEを内蔵するゲームエンジンです。主にC#を用いたプログラミングでコンテンツの開発が可能です。

Q&A

解決済

2回答

2469閲覧

AndroidでのAdMobの広告のロードがうまくいかない

yonn

総合スコア120

AdMob

AdMobは、事前に指定した条件に従ってアプリに広告を表示するGoogleのサービス。開発者の向けのサービスで、広告を掲載することにより、収益を得ることが可能です。その他、見た目や雰囲気などアプリに合う広告に変更したり、広告表示の場所を指定することもできます。

Unity

Unityは、Unity Technologiesが開発・販売している、IDEを内蔵するゲームエンジンです。主にC#を用いたプログラミングでコンテンツの開発が可能です。

0グッド

0クリップ

投稿2022/06/13 15:33

編集2022/06/17 06:15

Unityで作成したアプリでAdMobを使用しています。

エディタでは広告が読めるのですがAndroidのテスト機では広告のロードがうまくいかず困っております。

エディタの場合は「rewardedAd.OnAdLoaded」イベントが発動するのですが なぜかAndroidのテスト機では「rewardedAd.OnAdFailedToLoad」もありません。

ログを確認すると「 rewardedAd.LoadAd(request);」に対しての反応がありませんでした。

・アプリはプレイストアで広告が出るようにリリースされていますが、改良してアップデートしてリリースする時に不具合に気付きました。インタースティショナル広告に関しても同様で「interstitial.LoadAd(request);」に関しての反応がございません。


★試したこと、詳細
・広告ユニットの再作成。
・AdMob広告のテストコードの試用
・「GoogleMobileAds-v5.4.0.unitypackage」の再インポート(アプリ IDもセット)。(asset>GoogleMobileAdsの削除後)
・始まった後しばらく放置してから広告を見たり手動で「CreateAndLoadRewardedAd()」をしてみたりしました。


C#

1using System.Collections; 2using System.Collections.Generic; 3using UnityEngine; 4using GoogleMobileAds.Api; 5using System; 6 7public class Ad_Mob_Reward_SC : MonoBehaviour 8{ 9 private bool rewardeFlag = false;//報酬付与用 初期値はfalse 10 private RewardedAd rewardedAd;//RewardedAd型の変数 rewardedAdを宣言 11 private string adUnitId; 12 13 //******************************************************************************************************************** 14 //******************************************************************************************************************** 15 //******************************************************************************************************************** 16 // 外部より呼ばれる スタート    17 public void flow() { ShowAdMobReward(); } 18 //******************************************************************************************************************** 19 //******************************************************************************************************************** 20 //******************************************************************************************************************** 21 22 23 24 //リワード広告を表示する関数 25 public void ShowAdMobReward() 26 { 27 //広告の読み込みが完了していたら広告表示 28 if (rewardedAd.IsLoaded()) { 29 rewardedAd.Show(); 30 Debug.Log("★★★★リワード広告表示"); 31 } 32 else 33 { 34 Debug.Log("★★★★リワード広告_Load_未完了でした"); 35 36 37 } 38 } 39 40 41 private void Update() 42 { 43 //広告を見た後にrewardeFlagをtrueにしている //広告を見たらこの中の処理が実行される 44 if (rewardeFlag == true) 45 { 46 rewardeFlag = false;//報酬付与用のフラグをfalseへ戻す 47 48 Reword_Get(); // 報酬ゲット 49 50  } 51 52 } 53 54 55 private void Start() 56 { 57 58#if UNITY_ANDROID 59 60 adUnitId = "ca-app-pub-3940256099942544/1033173712";// ★ テストコード 61#elif UNITY_IPHONE 62#else 63 adUnitId = "unexpected_platform"; 64#endif 65 CreateAndLoadRewardedAd();  //リワード広告_Lord 66 } 67 68 69 //リワード広告読み込む関数 70 public void CreateAndLoadRewardedAd() 71 { 72 //リワード広告初期化 73 rewardedAd = new RewardedAd(adUnitId); 74 75 //RewardedAd型の変数 rewardedAdの各種状態 に関数を登録 76 rewardedAd.OnAdLoaded += HandleRewardedAdLoaded;// 77 rewardedAd.OnAdFailedToLoad += HandleRewardedAdFailedToLoad; 78 rewardedAd.OnAdClosed += HandleRewardedAdClosed;// 79 rewardedAd.OnUserEarnedReward += HandleUserEarnedReward;// 80 81 82 AdRequest request = new AdRequest.Builder().Build(); 83 84 Debug.Log("<color=red>1・広告をロード依頼</color>"); 85 rewardedAd.LoadAd(request); 86 } 87 88 89   90 //-------------------------------------------------------- 91 //-------------------------------------------------------- 92 //・1 リワード読み込み完了 となった時に起動する関数 93 public void HandleRewardedAdLoaded(object sender, EventArgs args) 94 { 95 Debug.Log("リワード広告_Load_成功_Load_ok"); 96 } 97 98 99 //・1 リワード読み込み失敗 となった時に起動する関数 広告のロードが失敗すると呼び出されます。 100 public void HandleRewardedAdFailedToLoad(object sender, AdErrorEventArgs args) 101 { 102 Debug.Log("★★★★リワード広告_lord_失敗" + args.Message);//args.Message:エラー内容 103 } 104 //--------------------------------------------------------- 105 //--------------------------------------------------------- 106 107 108 109 110 111 112 113 //・2 途中でリワード広告閉じられた時に起動する関数 => //リワード広告を再度読み込む関数 114 public void HandleRewardedAdClosed(object sender, EventArgs args) 115 { 116 Debug.Log("・2 ★★★★リワード広告閉じたら次回の広告を取り込む"); 117 CreateAndLoadRewardedAd(); //次の広告再読み込み //リワード広告読み込む関数 118 } 119 120 121 //・2 最後まで広告を見た時に起動する関数 122 public void HandleUserEarnedReward(object sender, Reward args) 123 { 124 Debug.Log("・2 ★★★★★★★★報酬受け取り"); 125 rewardeFlag = true; 126 } 127 //******************************************************** 128 //******************************************************** 129 //******************************************************** 130 //******************************************************** 131 132 133 public void 解放リワード広告_終了メソッド_報酬別() // 報酬 無し 失敗。 成功したら 別で報酬ゲットメソッドも通る 134 { 135 Debug.Log("<color=red>◆途中で中断</color>"); 136 } 137 138 public void Reword_Get() // 報酬 有り 139 { 140 Debug.Log("<color=blue>◆最後まで見た</color>"); 141 // 広告の報酬の処理 142 //○○○○ 143 } 144}

結果
・エディタの時

1・広告をロード依頼 リワード広告_Load_成功_Load_ok ★★★★リワード広告表示

・Androidの時

1・広告をロード依頼 ★★★★リワード広告表示しようとしたけど_Load_未完了でした

新しいSDKを入れて見たりコードを変えて見たりするも 広告が作動せず10日ほど立ち往生しております。
とても困っております。
どなたか少しでも何かアドバイスなど頂けませんでしょうか。
宜しくお願い致します。


Windows
Unity 2019.4.31f1
GoogleMobileAds-v5.4.0.unitypackage



2022/0617
KomoriGameDevさんに教えて頂いた「Android Logcat」で確認すると画面では表示されていない「HandleRewardedAdFailedToLoadイベント」が表示されていました。
いろいろ調べてみましたがおります。
また現在プロカードは無しの状態です。

該当箇所を記載します。

・Androidの操作

log

1 2Info Unity <color=red>・広告をロード依頼</color> 3Info Unity Ad_Mob_Reward_SC:CreateAndLoadRewardedAd() 4Info DynamiteModule Considering local module com.google.android.gms.ads.dynamite:0 and remote module com.google.android.gms.ads.dynamite:221310604 5Info DynamiteModule Selected remote version of com.google.android.gms.ads.dynamite, version >= 221310604 6Verbose DynamiteModule Dynamite loader version >= 2, using loadModule2NoCrashUtils 7Info Ads Updating ad debug logging enablement. 8Info Ads Use RequestConfiguration.Builder().setTestDeviceIds(Arrays.asList("487C4CBD940FD390951190066A8B740A")) to get test ads on this device. 9Warn ConnectionStatusConfig Dynamic lookup for intent failed for action: com.google.android.gms.leibniz.events.service.START 10Warn GmsClient unable to connect to service: com.google.android.gms.leibniz.events.service.START on com.google.android.gms 11Error WebViewFactory getProvider,my debug,uid=10228 12Debug ApplicationLoaders ignored Vulkan layer search path /data/app/com.android.chrome-2/lib/arm64:/data/app/com.android.chrome- 13* 14* 15* 16中略 17* 18* 19 20Error chromium [ERROR:simple_version_upgrade.cc(152)] Failed to write a new fake index. 21Error libEGL validate_display:99 error 3008 (EGL_BAD_DISPLAY) 22Warn cr_media Requires BLUETOOTH permission 23Error libEGL validate_display:99 error 3008 (EGL_BAD_DISPLAY) 24Info Ads Ad failed to load : 3 25Info Ads Ad failed to load : 3 26 27 28 29 30 31//HandleRewardedAdFailedToLoadイベント  (args.Message => No fill) 32 33Info Unity Ad_Mob_Reward_SC:HandleRewardedAdFailedToLoad(Object, AdErrorEventArgs) 34Info Unity System.EventHandler`1:Invoke(Object, TEventArgs) 35Info Unity System.EventHandler`1:Invoke(Object, TEventArgs) 36Info Unity System.Reflection.MonoMethod:Invoke(Object, BindingFlags, Binder, Object[], CultureInfo) 37Info Unity UnityEngine.AndroidJavaProxy:Invoke(String, Object[]) 38Info Unity UnityEngine._AndroidJNIHelper:InvokeJavaProxyMethod(AndroidJavaProxy, IntPtr, IntPtr) 39Info Unity 40Info Unity (Filename: ./Runtime/Export/Debug/Debug.bindings.h Line: 39) 41Info Unity 42Info Unity 広告_Lord_失敗No fill 43Info Unity System.EventHandler`1:Invoke(Object, TEventArgs) 44Info Unity System.EventHandler`1:Invoke(Object, TEventArgs) 45Info Unity System.Reflection.MonoMethod:Invoke(Object, BindingFlags, Binder, Object[], CultureInfo) 46Info Unity UnityEngine.AndroidJavaProxy:Invoke(String, Object[]) 47Info Unity UnityEngine._AndroidJNIHelper:InvokeJavaProxyMethod(AndroidJavaProxy, IntPtr, IntPtr) 48Info Unity 49Info Unity (Filename: ./Runtime/Export/Debug/Debug.bindings.h Line: 39) 50Info Unity 51Verbose BoostFramework mAcquireFunc method = public int com.qualcomm.qti.Performance.perfLockAcquire(int,int[]) 52Verbose BoostFramework mReleaseFunc method = public int com.qualcomm.qti.Performance.perfLockRelease() 53Verbose BoostFramework mAcquireTouchFunc method = public int com.qualcomm.qti.Performance.perfLockAcquireTouch(android.view.MotionEvent,android.util.DisplayMetrics,int,int[]) 54Verbose BoostFramework mIOPStart method = public int com.qualcomm.qti.Performance.perfIOPrefetchStart(int,java.lang.String) 55Verbose BoostFramework mIOPStop method = public int com.qualcomm.qti.Performance.perfIOPrefetchStop() 56Verbose BoostFramework BoostFramework() : mPerf = com.qualcomm.qti.Performance@24d2d7 57 58Info Unity ★★★★リワード広告表示しようとしたけど_Load_未完了でした 59Info Unity Ad_Mob_Reward_SC:ShowAdMobReward() 60Info Unity UnityEngine.Events.UnityAction:Invoke() 61Info Unity UnityEngine.Events.UnityEvent`1:Invoke(T0) 62Info Unity UnityEngine.EventSystems.EventTrigger:Execute(EventTriggerType, BaseEventData) 63Info Unity UnityEngine.EventSystems.EventFunction`1:Invoke(T1, BaseEventData) 64Info Unity UnityEngine.EventSystems.ExecuteEvents:Execute(GameObject, BaseEventData, EventFunction`1) 65Info Unity UnityEngine.EventSystems.StandaloneInputModule:ProcessTouchPress(PointerEventData, Boolean, Boolean) 66Info Unity UnityEngine.EventSystems.StandaloneInputModule:ProcessTouchEvents() 67Info Unity UnityEngine.EventSystems.StandaloneInputModule:Process() 68Info Unity 69Info Unity (Filename: ./Runtime/Export/Debug/Debug.bindings.h Line: 39) 70Info Unity 71 72 73 74 75

//質問には載せていませんでしたがインタースティショナル広告でも同様のエラーになっていました。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

自己解決

ターゲット ユーザーおよびコンテンツの扱いに問題があるようでした。

リリースしたアプリは簡単なパズルゲームで子供までターゲットにしており全年齢層対応にしておりました。
子供の情報を守る?ような規約にADMobがひっかかるようで年齢層を13歳以上にすると広告が見れるようになりました。

13歳以下でも方法はあるようですがUnityでの方法は書いていませんでした。
今回はこれで解決といたします。

ちなみにポリシーステータスなどには何も問題が表示されないのでとても遠回りしてしまいました。
どなたかの参考になれば嬉しいです。

COPPAとは何ですか?

COPPAとGoogle Playと広告について

ADMob 同意年齢に満たないユーザー

投稿2022/07/09 01:23

yonn

総合スコア120

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

Android Logcatというパッケージは使っていらっしゃいますか?Androidから出力されたログをUnityエディタで見れるようにしてくれるパッケージです。パッケージマネージャーからインストールできます。

インストールしたらLogcatのウインドウを表示し、PCにテスト機を接続して、テスト機の方でアプリを実行します。広告が表示されないのであれば、AdMobのSDKから何かしらエラーログが赤字で出力されているはずなので、探してみてください。その中に原因を特定するヒントがあるかもしれません。

投稿2022/06/15 12:41

KomoriGameDev

総合スコア433

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

yonn

2022/06/17 02:24

ありがとうございます。 「Android Logcat」でログを見るとイベントが表示されていました。 大変ありがたいです。 現在さらに調査をしております。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問