DoubleClickを使用してAndroidアプリケーションに広告を設定していますが、最終広告を表示することができません。誰か助けてもらえますか?
「.addTestDevice( "xxx ...")」を追加して広告をテストすると、テスト広告が表示されますが、この行を削除すると次のエラーが表示されます。
W/Ads:広告サーバーからの記入なし
W/Ads:広告の読み込みに失敗しました:3
広告を次のように設定します。
PublisherAdRequest adRequest = new PublisherAdRequest.Builder().build();
mPublisherAdView.loadAd(adRequest);
そして、私のpublisherViewは次のようになります:
<com.google.Android.gms.ads.doubleclick.PublisherAdView
Android:id="@+id/pronostics_ad"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:layout_gravity="center"
ads:adSize="BANNER"
ads:adUnitId="@string/ad_unit_pronostic">
</com.google.Android.gms.ads.doubleclick.PublisherAdView>
何が間違っているのでしょうか?
回答ありがとうございます。
W/Ads:広告の読み込みに失敗しました:3
Documentation に従って、次のエラーコードが表示されます。
public static final int ERROR_CODE_NO_FILL
広告リクエストは成功しましたが、広告在庫がないため広告は返されませんでした。
定数値:3
投稿に基づいて onFailedToReceiveAd-広告リクエストは成功しましたが、adwhirl でadmobを使用すると広告在庫がないため広告が返されませんでした:
このエラーが発生している場合、コードは正しいです。問題は、AdMobがすべてのリクエストに対して常に広告を返すとは限らないことです。これは、特にAdMobパブリッシャーIDを登録したばかりの場合に発生する可能性があります。新しいIDが広告を返し始めるまでに時間がかかり、複数のリクエストが発生するためです。
掲載率が低いもう1つの理由は、AdSenseバックフィルが有効になっていないか、一部の広告が除外されていることです。アプリの設定を確認して、そうであるかどうかを確認してください。
この場合に役立つオプションが1つあります。 Google Developer Consoleのアプリケーション設定で@Blizzardが言及したように、「価格設定と配布」というセクションがあります。このセクションには、「CONTAINS ADS」チェックボックスがあります。私たちの場合、それは無効にされました。有効にした後、広告を正常に受信しました。それが役に立てば幸い。
1つの新しい更新の回答:プライバシーポリシーがないためにこの10月(2018)に削除された多くのアプリは、Playストアに戻った後に広告を受信できません。このフォームを使用して、そのアプリの広告の「リセット」をリクエストする必要があります。 https://support.google.com/admob/contact/appeal_policy_violation
数日かけて答えを見つけて見つけました。広告を取り戻すことを願っています。
オプション1:設定に移動->検索広告IDのリセット->クリック- 広告IDをリセット-> OK。今すぐ広告の受信を開始する必要があります
検索オプションはありませんか?試すオプション2
オプション2:Settings-> Google-> Ads-> Reset Advertising ID-> OK
[設定]にGoogleオプションがありませんか?試すオプション
オプション:検索Google設定(設定ではありません)->広告->広告IDのリセット
W/Ads:広告の読み込みに失敗しました:3
コードは正しいが、サーバーへのリクエストが少ないため、広告は表示されません。テストADSを確認するには、しばらくの間コードをループする必要があります。また、admobが複数のリクエストを受信し、すぐに広告を読み込むように、複数のリクエストを与える必要があります。
以下のコードを追加します
for(int i=0;i<1000;i++) {
AdRequest adRequest = new AdRequest
.Builder()
.addTestDevice("B431EE858B5F1986E4D89CA31250F732")
.build();
accountSettingsBinding.adView.loadAd(adRequest);
}
アプリケーションを複数回再起動します。
広告の受信を開始した後、ループを削除します。
誰かのためにそれがうまくいくので、私はこれをここに残すつもりです。すべてのフォーラムで言及されているすべての修正を試し、投稿した後、私にとってうまくいったのは、単にグローバルなAdRequest
オブジェクトを使用することです。各loadAd
の各adView
でActivity
を呼び出すときに同じオブジェクトを使用します。アクティビティに関係なく、各AdView
に同じ広告をロードする傾向があることを見てきましたが、少なくとも今は広告を取得しています。
アプリでも同じエラーが発生しました。デバッグ構成でアプリを起動していました。同じデバイスでアプリのreleaseバージョンを実行するとすぐに問題は解決しました。 Android Studioで、[ビルド]-> [署名済みAPKの生成]に移動し、リリース構成を選択します。次に、デバイスにリリース.apkをインストールします。デバッグ構成では、AdRequest.Builder.addTestDevice( "YOUR TEST DEVICE")を追加して、test広告が表示されるかどうかを確認することもできます。広告が表示されても問題ない場合は、リリース設定のみが必要です。
これは簡単な回避策です(ソリューションなし):
InMobiなどのメディエーションをインストールできます。 https://developers.google.com/admob/Android/mediation/inmobi
このようにして、何らかの理由でadmobが広告を表示しない場合でも、他の広告ネットワークから広告を表示できます。
Google AdModに支払い方法を追加することを忘れないでください。 「エラーコード3」の問題でした。とにかく、アカウントGoogle AdModで広告を表示する準備ができたら(テスト済みのデバイスまたは実際のユーザー向け)、彼らはメールを送信アカウントが確認され、動作する準備ができていることを確認しますこの手紙の後、すべてが正常に動作するはずです。
新しいadmobバージョンでは、これを使用します。
// adViewを読み込む前に
adView.setAdListener(new AdListener() {
@Override
public void onAdFailedToLoad(int errorCode) {
// Code to be executed when an ad request fails.
Toast.makeText(Your current activity.this, "Ad failed: " + errorCode, Toast.LENGTH_SHORT).show();
}
});
エミュレータに広告が読み込まれる場合、つまりテスト広告が返される場合は、コードに問題がないことを意味します。彼らはあなたの携帯電話にもテスト広告をロードしますか?
エミュレーターとテストデバイスでテスト広告を表示できる場合、通常は、AdMob(AdMobを使用していると仮定)が広告在庫の不足により広告を返せないことを意味します。この場合、Logcatを見るとW/Ads:Failed to load ad:という行が表示されます。
Android電話をコンピューターに接続し、Android StudioでLogcatをクリックすると、左上に選択するデバイスが表示されます。表示されている場合は電話を選択します(表示されるはずです)。 logcatは、お使いの携帯電話が印刷しているすべてのものを印刷します。フィルターバーに広告を入力して、不要なものを除外します。
次に、電話でアプリケーションを開き、logcatを確認します。デバイスがテストデバイスと見なされないことを確認します。 W /広告:広告の読み込みに失敗しました:が表示された場合、問題はあなたではなくAdMobにあることを意味するはずです。
それがそれを言わず、それが何か他のものを言うなら、私は明らかに知らない。
エラーが引き続き発生する場合は、admobに新しいプレースメントを作成してください。これは私のために動作します。何も変更せずに(プレースメントID文字列を除く)、コード広告の表示を開始します。
公開されたアプリにadmobがなく、Google Developer Consoleの設定(「価格設定と配布」と呼ばれる)の場合、「CONTAINS ADS」は未整理です。常にlogcat出力のテストIDで開発します。