Admob Native広告をロードしようとしています。以前(アプリが更新される前)の広告は表示されていましたが、現在は表示されていません。以下にコード、xml、およびLogcatを投稿しました。
コード
NativeExpressAdView adView = (NativeExpressAdView) myView.findViewById(R.id.adView);
AdRequest request = new AdRequest.Builder()
.addTestDevice("5BCFF0AAE83AF424648A954038C71DE6")
.addTestDevice("A5E3E2068BD88202CBC281AD76984BEE")//infocus
.build();
adView.loadAd(request);
[〜#〜] xml [〜#〜]
<com.google.Android.gms.ads.NativeExpressAdView
Android:id="@+id/adView"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:layout_marginTop="10dp"
ads:adSize="320x150"
ads:adUnitId="ca-app-pub-5059726881726792/6223900262"></com.google.Android.gms.ads.NativeExpressAdView>
Logcat
07-14 20:39:57.349 11508-11508/? W/Ads: Failed to load ad: 0
07-14 20:40:07.373 11508-11663/? W/Ads: There was a problem getting an ad response. ErrorCode: 0
Fail to forward ad response.
Android.os.DeadObjectException
at Android.os.BinderProxy.transactNative(Native Method)
at Android.os.BinderProxy.transact(Binder.Java:511)
at com.google.Android.gms.ads.internal.request.ab.a(:com.google.Android.gms:93)
at com.google.Android.gms.ads.internal.request.service.i.run(:com.google.Android.gms:638)
at com.google.Android.gms.ads.internal.util.u.call(:com.google.Android.gms:1055)
at com.google.Android.gms.ads.internal.util.v.run(:com.google.Android.gms:75)
at Java.util.concurrent.Executors$RunnableAdapter.call(Executors.Java:423)
at Java.util.concurrent.FutureTask.run(FutureTask.Java:237)
at Java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.Java:1113)
at Java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.Java:588)
at Java.lang.Thread.run(Thread.Java:818)
07-14 20:40:19.539 1975-4922/? W/Ads: Fail to forward ad response.
Android.os.DeadObjectException
at Android.os.BinderProxy.transactNative(Native Method)
at Android.os.BinderProxy.transact(Binder.Java:511)
at com.google.Android.gms.ads.internal.request.ab.a(:com.google.Android.gms:93)
at com.google.Android.gms.ads.internal.request.service.i.run(:com.google.Android.gms:638)
at com.google.Android.gms.ads.internal.util.u.call(:com.google.Android.gms:1055)
at com.google.Android.gms.ads.internal.util.v.run(:com.google.Android.gms:75)
at Java.util.concurrent.Executors$RunnableAdapter.call(Executors.Java:423)
at Java.util.concurrent.FutureTask.run(FutureTask.Java:237)
at Java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.Java:1113)
at Java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.Java:588)
at Java.lang.Thread.run(Thread.Java:818)
コードに誤りはありません。大丈夫だよー。少し待つだけです。広告IDが新しく作成されるため、Googleサーバーから広告を取得するのに時間がかかります。これを確認するには、以前のアプリケーション用に作成したバナー/インタースティシャル広告IDを追加し、それらが機能することを確認します。少し時間をおいてください。すぐに機能します。少なくとも私にとっては、それは常に起こります。確かにあなたのために言うことはできませんが、なぜそれを試してみませんか?
私の場合、支払い情報の欠落が問題でした。 Admobダッシュボードにログインすると、支払いの詳細を追加するまで広告が機能しないという通知が表示されます。
定数値:0
このエラーは通常、新しく作成された広告で発生します。そのため、広告が読み込まれるまで数時間待ちます。
エミュレータでプロジェクトをいつでも実行でき、アプリケーションで「エミュレートされた広告」に関する情報を取得できます
また、異なるタイプのプレースメントから広告をリクエストしようとしたときにも発生します。たとえば、インタースティシャルからのバナーなど。これが誰かの助けになることを願っています。
ドキュメント から、エラーコード0は内部エラーを意味します。
public static final int ERROR_CODE_INTERNAL_ERROR
内部で何かが起こった。たとえば、広告サーバーから無効な応答を受信しました。
定数値:0
このエラーは通常、新しく作成された広告で発生します。そのため、広告が読み込まれるまで数時間待ちます。
また、「広告0の読み込みに失敗しました」というエラーが発生しましたが、広告が表示されるのを1時間または2時間、さらには5時間待つだけでも問題ありません。
サンプル広告ユニットID で機能する場合、アカウントはおそらくまだ承認されていません。今作成しましたか?
テスト広告はすぐに機能しました。 my広告も機能するまで、「素晴らしいニュース-アカウントが承認されました」メールを数時間待つ必要がありました。とにかく開発用に独自の広告を使用しないでください-AdMobアカウントをブロックすることができます!
したがって、テスト広告が機能し、リリースビルドに正しいIDが使用されていることを確認したらすぐに、おそらくすべてを正しく実行し、ただ待つ必要があります。
テストアプリID "ca-app-pub-3940256099942544〜3347511713" もありますが、作成直後に自分のアプリIDを使用しても問題ありませんでした。
また、最も重要なことは、マニフェストでインターネットの許可を与えているかどうかを確認することを忘れないでください
uses-permission Android:name="Android.permission.INTERNET"/>
私の場合、以前に広告のデバッグログを有効にしていたため、皮肉なことに広告が機能しなくなりました...
デバイスの設定> Google>広告> 広告のデバッグログを有効にする(無効)に移動します
上部で広告IDのリセットを選択した場合にも役立ちます。
この後、テスト広告は再び機能し始めました。
幸運を!