AdMobで本番のバナー広告が表示されない。テスト広告は表示できた。
多くの人が抱えている問題だと思います。
テスト広告の表示には成功しています。
UnityゲームにAdMob広告を表示させたいです。
形式はバナー、プラットフォームはAndroidです。
僕はこの問題を解決するためにStack Overflowで検索していると「AdMobの支払い情報を記入すれば表示されるようになる」
と書いてありますが、8000円以上の収益がない限り、それらの設定をすることはできません。
AdMobコンソールの [お支払い] -> [設定を管理する] の設定はすべて完了しています。
また「広告ユニットは作成してから表示されるまで時間がかかる」
という回答もありました。
しかし、広告ユニットを作ってからすでに2週間が経とうとしています。
これらの回答はこの問題を解決させることはできませんでした。
僕は質問サイトでよく「AppIDとadUnitIDを書き間違えていませんか?」
という回答を見かけます。しかし、ほとんどの質問者が書き間違えをしていなくて、その質問が解決済みになっていません。
他に何か原因があるのでしょうか?どなたか回答お願いします。
広告を表示させるためのスクリプト
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using GoogleMobileAds.Api;
public class GoogleMobileAdsDemoScript : MonoBehaviour
{
private BannerView bannerView;
public void Start()
{
this.RequestBanner();
}
private void RequestBanner()
{
#if UNITY_ANDROID
string adUnitId = "My UnitID";
#elif UNITY_IPHONE
string adUnitId = "My Ad Unit ID";
#else
string adUnitId = "unexpected_platform";
#endif
bannerView = new BannerView(adUnitId, AdSize.SmartBanner, AdPosition.Bottom);
AdRequest request = new AdRequest.Builder().Build();
bannerView.LoadAd(request);
}
}
adUnitIDの値をテストIDにすると広告は表示されます。
テストIDは以下のものです。
ca-app-pub-3940256099942544/6300978111
しかし、自分で作ったユニットIDでは表示されませんでした。
AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?>
<!--This Google Mobile Ads plugin library manifest will get merged
with your application's manifest, adding the necessary
activity and permissions required for displaying ads.
-->
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.google.unity.ads"
android:versionName="1.0"
android:versionCode="1">
<uses-sdk android:minSdkVersion="14"
android:targetSdkVersion="19" />
<application>
<!-- Sample AdMob App ID: ca-app-pub-XXXXXXXXXXXXXXXX~XXXXXXXXXX -->
<meta-data
android:name="com.google.android.gms.ads.APPLICATION_ID"
android:value="My APP ID"/>
</application>
</manifest>
個人的な意見ですが、このスクリプトとXMLファイルはこの問題に関係ないと思います。というのもテスト広告は無事表示できているわけですから...
ログ
Starting auto-resolution before scene build...
Starting auto-resolution before scene build...
UnityEngine.Debug:Log(Object)
Google.Logger:Log(String, LogLevel)
GooglePlayServices.PlayServicesResolver:Log(String, LogLevel)
GooglePlayServices.PlayServicesResolver:OnPostProcessScene()
UnityEditor.Build.BuildPipelineInterfaces:OnSceneProcess(Scene, BuildReport)
Dummy .ctor
Dummy .ctor
UnityEngine.Debug:Log(Object)
GoogleMobileAds.Common.DummyClient:.ctor() (at Assets/GoogleMobileAds/Common/DummyClient.cs:28)
GoogleMobileAds.GoogleMobileAdsClientFactory:BuildBannerClient() (at Assets/GoogleMobileAds/Platforms/GoogleMobileAdsClientFactory.cs:27)
System.Reflection.MethodBase:Invoke(Object, Object[])
GoogleMobileAds.Api.BannerView:.ctor(String, AdSize, AdPosition) (at Assets/GoogleMobileAds/Api/BannerView.cs:34)
AdMob:RequestBanner() (at Assets/Scripts/AdMob.cs:26)
AdMob:Start() (at Assets/Scripts/AdMob.cs:12)
Dummy CreateBannerView
Dummy CreateBannerView
UnityEngine.Debug:Log(Object)
GoogleMobileAds.Common.DummyClient:CreateBannerView(String, AdSize, AdPosition) (at Assets/GoogleMobileAds/Common/DummyClient.cs:90)
GoogleMobileAds.Api.BannerView:.ctor(String, AdSize, AdPosition) (at Assets/GoogleMobileAds/Api/BannerView.cs:35)
AdMob:RequestBanner() (at Assets/Scripts/AdMob.cs:26)
AdMob:Start() (at Assets/Scripts/AdMob.cs:12)
Dummy LoadAd
Dummy LoadAd
UnityEngine.Debug:Log(Object)
GoogleMobileAds.Common.DummyClient:LoadAd(AdRequest) (at Assets/GoogleMobileAds/Common/DummyClient.cs:100)
GoogleMobileAds.Api.BannerView:LoadAd(AdRequest) (at Assets/GoogleMobileAds/Api/BannerView.cs:68)
AdMob:RequestBanner() (at Assets/Scripts/AdMob.cs:32)
AdMob:Start() (at Assets/Scripts/AdMob.cs:12)
Dummy ShowBannerView
Dummy ShowBannerView
UnityEngine.Debug:Log(Object)
GoogleMobileAds.Common.DummyClient:ShowBannerView() (at Assets/GoogleMobileAds/Common/DummyClient.cs:105)
GoogleMobileAds.Api.BannerView:Show() (at Assets/GoogleMobileAds/Api/BannerView.cs:80)
AdMob:RequestBanner() (at Assets/Scripts/AdMob.cs:34)
AdMob:Start() (at Assets/Scripts/AdMob.cs:12)
Dummy Dummy Dummyといっぱい言われてますがこれは普通の事らしいです。
AdMobコンソール自体に問題があると思われるためログには不具合やおかしなところは見つからないはず・・・
参考にさせていただいたブログ・サイト
- Google AdMob Unity Get Started
- [Unity] AdMob 広告をAndroidに実装する
- Unityで作ったゲームにAdMob広告を実装する方法【バナー広告編】
- 【Unity】AdMobをUnityアプリに実装する方法
- 【Unity】AdMob組み込み方法
SDKマネージャーについての情報
(これらの情報はおそらく必要ないと思いますが)
- SDK platforms → Android 8.1, Android 7.1.1, Android 6.0
- Google Play Services → インストール済み (version 49)
- CMake → インストール済み
- NDK → インストール済み
- Support Repository → すべてインストール済み