【问题标题】:Admob shows Test ads but not real adsAdmob 显示测试广告,但不显示真实广告
【发布时间】:2015-05-10 22:31:47
【问题描述】:

我正在使用 admob 来展示 android 广告。测试广告运行良好,但未显示真实广告。此外,我对真正的插页式广告没有意见,因为它们运行良好。只是真正的横幅广告没有出现。我的java代码是

private InterstitialAd interstitial;    
interstitial = new InterstitialAd(MainActivity.this);

        interstitial.setAdUnitId("ca-app-pub-********");

        AdView adView = (AdView) this.findViewById(R.id.adView);               
        AdRequest adRequest = new AdRequest.Builder()

        // Add a test device to show Test Ads
         .addTestDevice(AdRequest.DEVICE_ID_EMULATOR)
         .addTestDevice("4CCC00EF4EA205A6FE82E1AEB26B0839")
                .build();

        // Load ads into Banner Ads
        adView.loadAd(adRequest);

        // Load ads into Interstitial Ads
        //interstitial.loadAd(adRequest);

布局文件是

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:ads="http://schemas.android.com/apk/res-auto"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >

    <com.google.android.gms.ads.AdView
        android:id="@+id/adView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        ads:adSize="BANNER"
        ads:adUnitId="ca-app-pub-********" />

</LinearLayout>

【问题讨论】:

  • 发布AndroidManifest.xml。发帖build.gradle。
  • 你的问题最后是怎么解决的?
  • 你能解决这个问题吗?
  • 如果您使用的是插页式广告,我认为您不需要在布局文件中添加任何内容。

标签: android admob


【解决方案1】:

当应用新注册到 AdMob 时,需要一些时间和一些广告请求来允许构建广告资源。因此,您可能不会立即看到实时展示。一旦您的应用开始发出更多请求,您应该会看到更一致的结果。请注意,测试广告通过与实时广告相同的渠道运作。能够返回测试广告可确保您的应用程序与我们的网络正常通信。请耐心等待几天后它会起作用。

【讨论】:

  • 我有同样的问题,我的真实广告(横幅广告)已经 2 天没有显示了。我还要再等几天?这是我发布的应用网址:play.google.com/store/apps/…
  • 如果您正确完成所有编程但未填写付款信息,您的测试广告会正确显示,但生产广告则不会。因此,即使是测试广告通过与实时广告相同的渠道运行,您也会遇到此问题。
  • @Usmanlqbal 我检查了您的广告即将投放,您是如何解决问题的?
  • 真的吗?两个星期很多,有谁知道如何缩短这个时间?
  • 我的所有广告都显示为 NO_FILL,即使在四个月后也是如此。我尝试了多个应用程序,甚至在 Xamarin 中重写了整个内容,而且我从来没有见过一个直播广告出现过。我无法发布我制作的任何应用程序。所有测试广告都适用于每个应用程序,但即使在四个月后,我也看到 0 次填充。我该怎么办?
【解决方案2】:

删除上面写着的那一行

.addTestDevice("4CCC00EF4EA205A6FE82E1AEB26B0839")

此外,当您使用虚拟设备时,无论如何它都会显示测试广告。你是在真机上测试吗?

【讨论】:

  • 是的,我正在真实设备上进行测试...如果我保留那条线路,那么我会在我的真实设备上收到一个测试广告...但是当我删除线路时没有广告
  • 当然...如果我没有在清单中添加它们,我怎么可能得到真正的插页式广告
  • 愚蠢。我在我自己注册为测试设备的设备上测试它。我在另一台设备上测试并显示了真实的广告。是的。
  • 测试横幅和测试插页式广告完美显示,但真正的插页式广告没有显示,而真实的横幅广告也完美显示。
【解决方案3】:

您可能正在使用示例单元 ID:ca-app-pub-3940256099942544/6300978111

如果您使用上述,那么您将看到测试广告。

确保在发布应用之前更改为您自己的单位 ID。

【讨论】:

    【解决方案4】:

    “可能是您最近才创建了一个新的广告单元 ID 并请求投放实时广告。如果是这种情况,可能需要几个小时才能开始投放广告。”

    我也遇到了同样的问题,如果你可以展示测试广告,那很好,直播广告很快就会展示(当然是在你删除 .addTestDevice(...) 之后)。

    我猜 google 需要时间来收集一些信息(位置、年龄、性别...)来正确展示用户感兴趣的广告。

    您可能知道但永远不要忘记:请勿触摸实时广告,您将很快被禁止。

    https://groups.google.com/forum/#!category-topic/google-admob-ads-sdk/android/fBe3YL3ffpo

    【讨论】:

      【解决方案5】:

      如果您已删除:

      .addTestDevice()
      

      然后,确保您使用的 ID 与 AdMob 在您的 string.xml 文件中提供的 ID 相同

      AdMob ID page

      【讨论】:

        【解决方案6】:

        回答一个老问题,但我也遇到过同样的问题,即测试广告可见且生产密钥的广告不起作用。

        后来我发现我没有向 Admob 提供付款详情。

        Admob 中的付款详情是必须的。请在几个小时后更新并检查它开始出现。

        【讨论】:

          【解决方案7】:

          您必须先添加您的付款信息。我忘记在 Google Admob 中执行此操作,所以它没有显示任何广告。

          另外,请确保您使用真实的广告 ID 而不是测试 ID。

          【讨论】:

            【解决方案8】:

            创建实时广告单元 ID

            登录

            https://apps.admob.com

            1. 在左侧菜单中点击 ->Apps
            2. 添加应用
            3. 选择您是在 Google Play 还是 App Store 上发布您的应用
            4. 如果没有 -> 输入您的应用信息
            5. 创建广告单元
            6. 用新的广告单元替换测试广告单元。
            7. 应用发布到 Playstore 后,您就会看到广告!

            在您的 xml 中添加 AdView

              <com.google.android.gms.ads.AdView 
                xmlns:ads="http://schemas.android.com/apk/res-auto"
                android:id="@+id/adView"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
            
                android:layout_alignParentBottom="true"
                android:layout_centerHorizontal="true"
                ads:adSize="BANNER"
                ads:adUnitId="@string/banner_ad_unit_id">
              </com.google.android.gms.ads.AdView>
            

            内部字符串 &lt;string name="banner_ad_unit_id"&gt;your_new_ad_unit&lt;/string&gt;

            在你的 java 代码中

             AdView mAdView = (AdView) v.findViewById(R.id.adView);
             AdRequest adRequest = new AdRequest.Builder().build();
             mAdView.loadAd(adRequest);
            

            【讨论】:

              【解决方案9】:

              以下是显示实时广告所需时间的官方答案。

              在第一个广告之后开始展示广告需要多长时间 请求?

              当应用新注册到 AdMob 时,通常最多需要 小时和几个广告请求,以允许建立库存。因为 这样,您可能不会立即看到实时展示。

              注意:在某些情况下,可能需要一个多小时。请稍等 24 在寻求其他帮助前几个小时。

              一旦您的应用发出更多请求,您应该会看到更加一致 结果。请注意,测试广告通过相同的渠道投放 作为现场广告。能够返回测试广告可确保您的 应用程序正在与我们的网络正常通信。

              来源:https://support.google.com/admob/answer/2993019?hl=en

              【讨论】:

                【解决方案10】:

                看看你的 logcat。它会说明为什么没有显示真实的广告。

                这可能是因为在您所在的位置,您的设备目前没有可显示的内容。

                【讨论】:

                • 可能...
                • 情况相同。
                • 我检查了 Logcat。它说“广告服务器没有填充”。这意味着什么??
                • 这意味着广告服务器目前没有广告可以显示给您。正是我说的可能。这是预期的状态。它会不时发生。
                • 没有。是否提供广告与您的应用是否已在 Google Play 上发布完全无关。
                【解决方案11】:

                我也遇到过这个问题。 AdView 和 IntersitialAd 仅向我展示了 模拟器 上的测试广告。但是真实设备上有真实的广告。 我认为firebase可以检测你是使用模拟器还是真实设备。我用过firebase:

                com.google.firebase:firebase-ads:11.0.4

                【讨论】:

                  【解决方案12】:

                  在我的情况下,这是因为 app > build.gradle 中的密钥库文件路径错误。确保你有正确的 storeFile 文件('file path')

                  我相信它会帮助某人找到答案。

                  【讨论】:

                    【解决方案13】:

                    我遇到了同样的问题,并认为我永远无法解决它。

                    错误原因: Admob 正在展示测试广告,因为从 admob 加载的广告不适合容器,主要是线性布局,因为加载的广告宽度更大。

                    修复: 我的解决方法是创建一个自定义大小为 320x50 的横幅广告,然后加载它。

                    我无法在答案中发布我的代码,但您可以从 Jay Patel 对以下 stackoverflow 问题的回答中找出自己的代码。

                    How to set adSize?

                    【讨论】:

                      【解决方案14】:

                      如果您选择 Native Express 模板,请使用此链接。 NativeExpressAdView 不适用于 AdView。 https://firebase.google.com/docs/admob/android/native-express

                      NativeExpressAdView adView = (NativeExpressAdView)findViewById(R.id.adView);
                      
                      <com.google.android.gms.ads.NativeExpressAdView
                          android:id="@+id/adView"
                          android:layout_width="wrap_content"
                          android:layout_height="wrap_content"
                          ads:adUnitId="ca-app-123123123123/123123123"
                          ads:adSize="320x150">
                      </com.google.android.gms.ads.NativeExpressAdView>
                      

                      【讨论】:

                        【解决方案15】:

                        其实我也遇到过这个问题。您必须登录到 admob 并转到您在那里添加的应用程序。该应用程序有一个 admob id。使用应用的 id 来做these steps。 然后在该应用程序中(在 admob 中)创建一个新横幅或任何类型的广告,并使用该横幅的 id 来完成these steps。当您创建横幅时,它会自行为您提供说明。

                        【讨论】:

                        • 您能否从您的链接中添加需要哪些相关步骤?
                        • 这些不仅仅是步骤,它是 developer.google.com 上的完整教程,所以我觉得与其全部重写,不如自己访问并查看。
                        【解决方案16】:

                        它可能没有显示广告,因为您的应用仍处于开发模式,您可以按照说明here 在您的 ad mob 帐户中注册一个测试设备。即使在开发模式下,您也应该能够在测试设备上看到广告。

                        这里复制步骤

                        • 通过 https://apps.admob.com 登录您的 AdMob 帐户。
                        • 点击边栏中的设置。
                        • 单击“测试设备”选项卡。
                        • 点击添加测试设备。
                        • 选择您设备的平台。
                        • 输入设备名称。考虑使用可帮助您快速识别 AdMob 帐户中设备的名称。 注意:任何有权访问您的 AdMob 帐户的人都可以看到设备名称。
                        • 输入您的广告 ID/IDFA。 Learn how to find your advertising ID/IDFA.
                        • 选择用于激活广告检查器的手势: 无,摇晃或轻弹两次
                        • 点击完成。

                        【讨论】:

                          【解决方案17】:

                          发生这种情况一般有两个原因:

                          1. 您将设备定义为测试设备。
                          2. 如果您使用的是模拟器 android studio,您总是会看到测试广告。

                          根据 Google 文档,android 模拟器会自动配置为测试设备。

                          更多信息请查看Google Web Site。

                          【讨论】:

                            猜你喜欢
                            • 1970-01-01
                            • 1970-01-01
                            • 1970-01-01
                            • 1970-01-01
                            • 1970-01-01
                            • 2016-07-16
                            • 2019-12-11
                            • 2018-02-01
                            • 1970-01-01
                            相关资源
                            最近更新 更多