以前AdMobのバナー広告を表示させようと試みましたが、一向に表示されず諦めてしまいました。
あれから1ヶ月経ちますが、再びやってみようと思い改めて質問させていただきました。
広告形式はバナー、プラットフォームはAndroidです。
僕はこの問題を解決するためにStack Over Flowで検索していると「AdMobの支払い情報を記入すれば表示されるようになる」と書いてありますが、8000円以上の収益がない限り、それらの設定をすることはできません。
AdMobコンソールの [お支払い] -> [設定を管理する] の設定はすべて完了しています。
また「広告ユニットは作成してから表示されるまで時間がかかる」という回答もありました。
しかし、広告ユニットを作ってからすでに2週間が経とうとしています。
これらの回答はこの問題を解決させることはできませんでした。
僕は質問サイトでよく「AppIDとadUnitIDを書き間違えていませんか?」という回答を見かけます。しかし、ほとんどの質問者が書き間違えをしていなくて、その質問が解決済みになっていません。
他に何か原因があるのでしょうか?どなたか回答お願いします。
- 広告を表示させるためのスクリプト
c#
1using System.Collections; 2using System.Collections.Generic; 3using UnityEngine; 4using GoogleMobileAds.Api; 5 6public class GoogleMobileAdsDemoScript : MonoBehaviour 7{ 8 private BannerView bannerView; 9 10 public void Start() 11 { 12 this.RequestBanner(); 13 } 14 15 private void RequestBanner() 16 { 17 #if UNITY_ANDROID 18 string adUnitId = "My Ad UnitID"; 19 #elif UNITY_IPHONE 20 string adUnitId = "My Ad Unit ID"; 21 #else 22 string adUnitId = "unexpected_platform"; 23 #endif 24 25 bannerView = new BannerView(adUnitId, AdSize.SmartBanner, AdPosition.Bottom); 26 27 AdRequest request = new AdRequest.Builder().Build(); 28 29 bannerView.LoadAd(request); 30 } 31}
adUnitIDの値をテストIDにすると広告は表示されます。
テストIDは以下のものです
ca-app-pub-3940256099942544/6300978111
しかし、自分で作ったユニットIDでは表示されませんでした。
- AndroidManifest.xml
xml
1<?xml version="1.0" encoding="utf-8"?> 2<!--This Google Mobile Ads plugin library manifest will get merged 3with your application's manifest, adding the necessary 4activity and permissions required for displaying ads. 5--> 6<manifest xmlns:android="http://schemas.android.com/apk/res/android" 7 package="com.google.unity.ads" 8 android:versionName="1.0" 9 android:versionCode="1"> 10 <uses-sdk android:minSdkVersion="14" 11 android:targetSdkVersion="19" /> 12 <application> 13 <!-- Sample AdMob App ID: ca-app-pub-XXXXXXXXXXXXXXXX~XXXXXXXXXX --> 14 <meta-data 15 android:name="com.google.android.gms.ads.APPLICATION_ID" 16 android:value="My APP ID"/> 17 </application> 18</manifest>
AndroidManifestは上のものが良いのでしょうか?
もしくは **<application>**内を
XML
1 <meta-data 2 android:name="com.google.android.gms.ads.AD_MANAGER_APP" 3 android:value="true"/>
にしたほうが良いのでしょうか?
- ログ
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コンソール自体に問題があると思われるためログには不具合やおかしなところは見つからないはず・・・
-
参考にさせていただいたブログ・サイト
-
以前に AdMob を使ってアプリに広告表示ができましたか? --- いいえ
-
最近(24時間以内)広告ユニット ID を作成しましたか? --- いいえ
-
エラー ログがありましたか? --- いいえ
-
どのフォーマットを実装しようとしていますか? --- バナー
結果
- AdView をプログラムで追加する場合は、AdView をメインビューに追加する必要があります。
...Unityエディター上ではゲーム起動後、最初に使用するシーンのゲームオブジェクトにGoogleMobileAdsDemoScript.csを貼り付けました。
- AdView のための正しいサイズをリクエストしているか確認してください(320 x 250 の AdView 用のレクタングル(中)など)。AdView のサイズより大きい広告をリクエストしている場合は、スペースが足りないという警告が表示されます。スペースが足りないという警告の例(Android)W/Ads: Not enough space to show ad. Needs 320x50 dp, but only has 288x495 dp.
...広告サイズは初期状態(Adsize.Banner, AdPosition.Top)です。なのでスペースが無いということはありえないと思います。
- SDKマネージャーについての情報(これらの情報はおそらく必要ないと思いますが)
・SDK platforms → Android 8.1, Android 7.1.1, Android 6.0
・Google Play Services → インストール済み (version 49)
・CMake → インストール済み
・NDK → インストール済み
・Support Repository → すべてインストール済み