当前位置: 首页 > 知识库问答 >
问题:

Admob不显示测试广告也不显示真实广告

柳俊逸
2023-03-14

我已经与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.");
          }

我尝试过的事情

>

  • 使用实现编译gradle'com.google.android.gms: play-services-ads: 15.0.1'

    使用Firebase广告编译gradle,按照Firebase站点中的指南并将Firebase连接到我的admob帐户

    在相对和线性布局中包含AdView

    更改广告大小

    更改活动和布局

    什么都没用。据我了解,我的日志中说,广告请求成功,但admob目前没有要显示的广告。可能是因为我的应用程序还没有直播,所以没有显示直播广告,但为什么测试广告没有显示?为什么只有现场插播广告才有效?我还以为我的admob帐户可以被禁用,但广告可以在我的其他应用程序上运行。

  • 共有2个答案

    空英逸
    2023-03-14

    这可能是旧的,但也许它可以帮助某人。

    由于多种原因,您可能会收到此错误。

    其他两个原因是:

    1. 如果您使用的是测试广告,并且所有设置都正确,那么如果您之前正在制作(账单、地址等),Google可能会出于某些原因阻止您的应用id(com.example.myapp),它甚至不能在测试ID上工作;尝试更改你的应用程序id并检查其是否有效
    2. 如果您使用的是生产ID,则您的帐户可能尚未激活;您只需等待它变为活动状态
    阚通
    2023-03-14

    更改您的ads: adUnitId="ca-app-pub-3940256099942544/6300978111"ads: adUnitId="your_banner_id"

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

    尝试将此代码用于横幅

     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);
    

    对于Interstitalad

    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();
    
                    }
                });
    
     类似资料:
    • 我已经在我的手机上测试了广告功能。只显示测试广告。当我用我从AdMob得到的单位id替换时,真正的广告就不显示了。 问题出在哪里? 下面是我的代码: 对于我使用的xml 用于加载我使用的ad 在manifeast我有 ...。 但我的广告不加载在android设备上。测试广告运作良好。所有这些操作我都用了一个真实的装置。有什么需要帮忙的吗?

    • 我的广告不显示。 我正在开发一个需要广告的应用程序。目前正在进行测试,我在Google Play console的内部测试轨道上对该应用程序进行封闭测试。因此,我无法将其链接到Admob中Play store中的应用程序。 所以,为了测试它们,我一直是示例测试广告单元,特别是间隙广告和奖励视频广告。它们加载良好。 今天,我决定切换到生产广告,因为我想发布该应用程序。所以,我为奖励和互动创建了新的广

    • 它在模拟器和真实设备上显示测试广告。但是当我把广告ID改成我的真实ID时,它就不起作用了。。我的应用程序也在AppStore中,但我没有推送更新。我只在Xcode中添加了AdMob,然后连接了真正的设备并在其上进行了测试。我必须将AdMob的最新更新发布到App Store才能看到真正的广告吗?我该怎么办?在推送更新之前,我想测试一下我的真实广告。。 (已填写付款明细)

    • 这是调试器在运行代码时输出的内容: 2018-11-07 22:12:42.806497-0600CoverMe[7740:78040]未能在(UITabBar)上设置(keyPath)用户定义的检查属性:[setValue: forUndecedKey:]:此类不符合密钥keyPath的键值编码。2018-11-07 22:12:42.901273-0600CoverMe[7740:78040]

    • 这是我的第一个Android应用程序,我试图使用admob广告为我的应用程序,但它是不工作,尽管我所做的一切。 这是我活动中与广告相关的代码 下面是我的XML代码 在模拟器上运行应用程序时的logcat读数既奇怪又令人困惑 如您所见,logcat中至少显示了3个错误。首先,google play服务已经导入到项目中。我可以在android私有库文件夹中看到它(但不是在libs文件夹中)。 还有一个

    • 我的代码看起来与原始代码一模一样(https://developers.google.com/mobile-ads-sdk/docs/admob/fundamentals?hl=en#play)我确信我正确导入了所有内容,向我的AndroidManifest添加了元数据、活动和权限。 当我在我的设备上启动应用程序时,logcat 会给我以下内容: 找不到此Google Play服务资源和加载广告失