Admob 显示测试广告,但不显示真实广告

Posted

技术标签:

【中文标题】Admob 显示测试广告,但不显示真实广告【英文标题】:Admob shows Test ads but not real ads 【发布时间】: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_
    android:layout_
    android:orientation="vertical" >

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

</LinearLayout>

【问题讨论】:

发布AndroidManifest.xml。发帖build.gradle 你的问题最后是怎么解决的? 你能解决这个问题吗? 如果您使用的是插页式广告,我认为您不需要在布局文件中添加任何内容。 【参考方案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

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

在您的 xml 中添加 AdView

  <com.google.android.gms.ads.AdView 
    xmlns:ads="http://schemas.android.com/apk/res-auto"
    android:id="@+id/adView"
    android:layout_
    android:layout_

    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 对以下 *** 问题的回答中找出自己的代码。

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_
    android:layout_
    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】:

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

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

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

更多信息请查看Google Web Site。

【讨论】:

以上是关于Admob 显示测试广告,但不显示真实广告的主要内容,如果未能解决你的问题,请参考以下文章

Admob 测试广告不起作用,只有真实的广告在显示 - Android

Cordova - AdMob 插件可以显示测试广告,但不能显示真实广告

Unity Admob 显示测试和真实广告的混合

应用上线后 Admob(广告)不显示

我的应用显示测试广告,但没有真实广告(AdMob Google)

奖励测试广告显示但不是真实的