首页 > 解决方案 > Admob 既不展示测试广告,也不展示真实广告

问题描述

我已经在 Admob 广告上苦苦挣扎了将近一个星期,我在整个互联网上搜索以找到可能的解决方案,但没有任何效果。我的 Android 应用程序既不显示测试广告,也不显示实时广告。这是日志:

I/Ads: Updating ad debug logging enablement.
I/Ads: Starting ad request.
    SDK version: afma-sdk-a-v13280019.11910000.1
I/Ads: This request is sent from a test device.
W/Ads: Not retrying to fetch app settings
W/Ads: Update ad debug logging enablement as false
W/Ads: App does not have the required permissions to get location
    I/Ads: Trying mediation network: 
    I/Ads: Instantiating mediation adapter: com.google.DummyAdapter
    I/Ads: No fill from any mediation ad networks.
    I/Ads: Scheduling ad refresh 60000 milliseconds from now.
    W/Ads: Failed to load ad: 3

我的测试插页式加载没有问题,而现场版则没有。横幅不显示,不是测试的,也不是现场的。

这是我的 xml AdView:

<com.google.android.gms.ads.AdView
            android:id="@+id/adView"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_centerHorizontal="true"
            android:layout_alignParentBottom="true"
            ads:adSize="BANNER"
            ads:adUnitId="ca-app-pub-3940256099942544/6300978111"> //test admob unit id
</com.google.android.gms.ads.AdView>

我加载横幅:

     MobileAds.initialize(this, getString(R.string.app_id));
 adView1 = findViewById(R.id.adView);
AdRequest adRequest1 = new AdRequest.Builder().addTestDevice("my_test_device_id").build();
adView1.loadAd(adRequest1);

实时插页式广告以这种方式加载,并且可以正常工作(测试版没有):

final InterstitialAd mInterstitialAd = new InterstitialAd(this);
          mInterstitialAd.setAdUnitId("_live_ad_id");
          mInterstitialAd.loadAd(new AdRequest.Builder().addTestDevice("my_test_device_id").build());
          mInterstitialAd.setAdListener(new AdListener(){
              @Override
              public void onAdLoaded(){
                  mInterstitialAd.show();

              }
          });
          if (mInterstitialAd.isLoaded()) {
          } else {
              Log.d("TAG", "The interstitial wasn't loaded yet.");
          }

我尝试过的事情

没有任何效果。据我了解,我的日志显示广告请求成功,但 admob 目前没有要显示的广告。可能是因为我的应用还没有上线,所以没有显示实时广告,但为什么没有显示测试广告?为什么只有实时插页式广告有效?我还认为我的 admob 帐户可能会被禁用,但这些广告可以在我的其他应用程序上运行。

标签: javaandroidfirebaseandroid-studioadmob

解决方案


改变你ads:adUnitId="ca-app-pub-3940256099942544/6300978111"ads:adUnitId="your_banner_id"

注意: ca-app-pub-3940256099942544/6300978111它用于测试!

试试这个代码的横幅

 MobileAds.initialize(this, getString(R.string.app_id));
 adView1 = findViewById(R.id.adView);
AdRequest adRequest1 = new AdRequest.Builder().addTestDevice("my_test_device_id").build();
adView1.loadAd(adRequest1);

对于插页式广告

MobileAds.initialize(LoginActivity.this, getResources().getString(R.string.app_id));

        mInterstitialAd = new InterstitialAd(this);

         mInterstitialAd.setAdUnitId(getResources().getString(R.string.full_screen_ads_id));
            mInterstitialAd.loadAd(new AdRequest.Builder()
                    .build());
            mInterstitialAd.setAdListener(new com.google.android.gms.ads.AdListener() {
                @Override
                public void onAdLoaded() {
                    mInterstitialAd.show();
                    super.onAdLoaded();

                }
            });

推荐阅读