加载广告失败:3


109

我正在使用DoubleClick在我的Android应用程序中设置广告,但无法显示最终广告,有人可以帮我吗?

当我通过添加“ .addTestDevice(” xxx ...“)”来测试广告时,我得到了测试广告,但是当我删除此行时,出现了以下错误:

W /广告:广告服务器未填充

W /广告:无法加载广告: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>

有什么事吗

预先感谢您的回答。


1
该问题是由于语言配置错误所致。似乎奇怪的是,这种配置对IOS设备没有任何问题,但对Android设备却没有问题。
MHogge,2015年

2
您能否说明一下,您指的是哪种“语言配置”?我似乎正面临着同样的问题。
isapego'1

这是一年多以前的事了,我再也无法访问DoubleClick帐户了,因此我不能为您提供太多帮助。我知道我有3种语言(Fr,Nl和En),其中Fr设置为默认语言,但我无法获得NL和EN语言。如果我还记得的话,我改用EN作为默认语言配置,仅此而已。我仍然不明白为什么这可以解决我的问题,非常抱歉没有提供太多帮助。
MHogge


就我而言,我仅更改为其他虚拟设备,并且广告开始加载。
Teofilo以色列Vizcaino Rodrig

Answers:


159

W /广告:无法加载广告:3

根据文档,您将获得以下错误代码:

公共静态最终int ERROR_CODE_NO_FILL

广告请求成功,但由于缺少广告资源而没有退回任何广告。

常数:3

根据onFailedToReceiveAd帖子-广告请求成功,但由于将admob与adwhirl结合使用时,由于缺少广告资源而没有返回任何广告

如果出现此错误,则您的代码是正确的。问题在于AdMob并不总是有一个广告可针对每个请求返回。特别是在您刚刚注册了AdMob发布商ID的情况下,可能会发生这种情况,因为新ID开始返回广告需要一些时间和多次请求。

填充率较低的另一个原因是您没有启用AdSense补余,或者您滤除了一些广告。检查您的应用设置,看是否是这种情况。


27
什么是回填?该文件没有提及。
Kimi Chiu

3
先生!我有另一个属于同一个AdMob帐户的应用,并且正在显示广告。请解释
比拉尔·穆斯塔法

2
我遇到了同样的问题,它可以首先展示广告,但现在却出现错误3
llb

6
奇怪的是,它对我来说是带有测试ID的,正如文档所说,它是/6499/example/banner
GVillani82 '18

1
嗨,我有同样的问题,广告之前显示得很好,但现在我收到了错误代码3。请帮助
Rosemary

25

在我们的案例中,有一种选择是有帮助的。正如@blizzard在Google Developer Console的应用程序设置中提到的那样,有一个部分称为“定价和分发”。在此部分中,有一个复选框“ CONTAINS ADS”。在我们的情况下,它已被禁用。启用后,我们成功收到了广告。

在此处输入图片说明


1
您可以添加屏幕截图或详细路径以进行定价和分发吗?它也可以在apps.admob.com仪表板中还是在Google开发者控制台中?
克里希纳(Krishna Karki)'18年

1
转到Google Play控制台,然后在右侧选择所有应用程序,选择您的应用程序,在右侧选择商店状态,在下拉菜单中选择定价和发行
Alexander Ovchinnikov

你是救世主!我关闭了我的电源,我刚刚启用了它。
Makari Kevin

此问题与错误代码3有关。此错误代码的答案吗?
Ahamadullah Saikat

现在在“应用程序内容”下,而不是在“定价和发行”下
Aurasphere

17

我的应用程式中有相同的错误。我在调试配置中启动了该应用程序。只要在同一设备上运行应用程序的发行版,就可以解决该问题。在Android Studio中,只需转到Build-> Generate Signed APK并选择发布配置。然后在您的设备上安装发行版.apk。在调试配置中,您还可以通过添加AdRequest.Builder.addTestDevice(“ YOUR TEST DEVICE”)检查测试广告是否显示。如果可以显示广告,则表示您只需要发布配置。


现在不推荐使用addTestDevice,并且已经设置了AD单元ID。参考:developers.google.com/admob/android/test-ads
Anton Balashov

这也为我解决了这个问题。谢谢。
拉胡尔·蒂瓦里

这解决了问题。谢谢
Mike

6

一个新的和更新的答案:今年10月(2018年)由于缺乏隐私政策而被删除的许多应用在回到Play商店后无法接收广告。您必须使用此表单为该应用的广告请求“重置”。https://support.google.com/admob/contact/appeal_policy_violation

花了我几天时间来实现并找到答案。希望您能重新获得广告。


您能否在以下部分提及您的内容:“为了符合我们的计​​划政策,您对应用或帐户进行了哪些更改?*”
Arbaz Alam

我添加了必需的隐私权政策
Marius Razvan Varvarei

您的意思是您已经在该上诉领域复制并粘贴了您的隐私政策吗?
Arbaz Alam

提交具有隐私权政策的更新应用程序后,实际上我的应用程序现在已经可以在playstore上使用了,但是没有启用Admob广告。
Arbaz Alam

1
@MariusRazvanVarvarei我无法访问此表格。它重定向到support.google.com/admob/…–
Ammar,

4

这是一个简单的替代方法(无解决方案):

您可以安装中介(例如InMobi):https : //developers.google.com/admob/android/mediation/inmobi

这样,无论出于何种原因admob都没有向您展示广告,您仍然可以从其他广告网络中展示它们。


您知道与此相关的任何具体教程吗?
阿敏·平贾里

我只是按照该链接上的说明进行操作。无论如何,我发现inmobi不会频繁显示广告(甚至没有50%的时间),所以我不再使用它。
Pablo Alfonso

目前(2019年8月15日),Google Admob为我工作(我的应用程序为“ Match4app”)。匹配率是100%,显示速度是美国,加拿大和西班牙,德国75%,等80%
巴勃罗·阿方索

哇,太好了,我是广告新手,就我而言,AdMob不会连续展示广告,它只展示10%的一天,我在1个月前集成了广告,您对此有什么想法
Amin Pinjari

我认为这取决于国家。尝试在apps.admob.com(报告-> AdMob网络报告->国家/地区)中运行报告,并查看该报告是否因国家/地区而异。您是否有匹配率%10或显示率10%?在哪 您显示的是横幅广告还是非页内广告?Android和iOS的价格相同吗?等等等等。这里有数百个因素需要考虑。
Pablo Alfonso

4

W /广告:无法加载广告:3

这意味着您的代码是正确的,但是由于对服务器的请求量较少,因此您的广告不可见。要检查测试ADS,您应该将代码循环使用一段时间,并且您必须发出多个请求,以便您的admob可以接收多个请求并立即加载广告。

添加以下代码

for(int i=0;i<1000;i++) {
            AdRequest adRequest = new AdRequest
                    .Builder()
                    .addTestDevice("B431EE858B5F1986E4D89CA31250F732")
                    .build();
            accountSettingsBinding.adView.loadAd(adRequest);
        } 

多次重新启动您的应用程序。

开始接收广告后,请删除Loop


这里的accountSettingsBinding是什么?
拉胡尔·蒂瓦里

不适用于我:-(
Rahul Tiwari

accountSettingsBinding.adView.loadAd(adRequest); 您可以提供广告ID
Vivek Makwana

您在日志中收到什么错误?
Vivek Makwana

很酷。这确实对我有用,但是在发出多个请求大约24小时之后。谢谢。
拉胡尔·蒂瓦里

4

我尚未发布带有广告的应用程序版本。

从具有调试版本的仿真器切换到具有发行版(通过adb shell命令安装)的真实设备后,我看到错误代码3:ERROR_CODE_NO_FILL

我等待了12个多小时,可以在AdMob门户上看到广告请求,但没有匹配项(匹配率0%)。我去了Play Console > Store Presence > Pricing & distribution,并切换的单选按钮Contains adsYes, it has ads。我什至尝试将我的应用包(不发布)上传到Play控制台。这些都不起作用。

AdMob的各种帮助文章(包括下面的链接)都提到,如果您一直在查看测试广告(标有“测试广告”的广告),则您的代码可以正常工作,真实的广告应该可以按预期工作(一旦它们建立了广告资源) 。

考虑到这一点,我继续将我的应用发布到Play商店,一旦更新生效,我就通过我的手机通过Play商店应用下载了该应用,广告也没有问题,匹配率现在为66在AdMob上的百分比。从AdMob常见问题解答文章中看来,广告通常需要花费几个小时才能显示,可能最多需要24小时才能开始展示。

广告暴民常见问题解答:显示广告需要多长时间

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


如果您激活测试广告,则无需将其应用程序发布在Google Play或其他平台上即可:)
Genaut

2

选项1:转到“设置”->搜索“ 重置广告ID” ->单击“ 重置广告ID” ->“ 确定”。您应该立即开始接收广告

没有搜索选项?尝试选项2

选项2:转到“设置”->“ Google”->“广告”->“重置广告ID”->“确定”

设置中没有Google选项吗?尝试选项3

选项3:查找Google设置(不设置) ->广告->重置广告ID


这位于AdMob菜单上吗?
coderInrRain

任何地方都没有Google的“重置广告ID”菜单。哪里?
帕尼尼午餐者

2

不要忘记在Google AdMod上添加付款方式。这是我的“错误代码3”问题。无论如何,当您的帐户Google AdMod准备好展示广告(针对经过测试的设备或真实用户)时,它们会向您发送一封电子邮件,说明您的帐户已通过验证并可以正常使用!收到这封信后,一切都会正常。


1

我只是把它留在这里,以防它对某人有用。在尝试了所有论坛和文章中提到的所有修复程序之后,对我有用的只是使用全局AdRequest对象。当loadAd在每个adView中调用每个对象时,我将使用相同的对象Activity。我已经看到,AdView无论活动如何,它都倾向于在每个广告上加载相同的广告,但至少现在我能收到广告。


1

如果您发布的应用没有admob,并且其在Google Developer Console中的设置(称为“定价和发布”)被取消选中“ CONTAINS ADS”。始终使用带有logcat输出的测试ID进行开发。


1

在新的admob版本上,使用this:

//先加载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行:无法加载广告:3

您应该做的是将Android手机插入计算机,然后在Android Studio中单击Logcat,然后在左上角看到一些设备可供选择。如果列出了电话,则选择它(应该是)。现在,logcat将打印手机正在打印的所有内容。在过滤器栏中,输入广告以过滤掉不需要看到的内容。

然后在手机中打开您的应用程序,并检查日志。确保您的设备未被视为测试设备。如果您看到W / Ads:无法加载广告:3,则意味着问题出在AdMob,而不是您。

如果它没有这么说,但说了别的话,那么我显然不知道。


0

如果错误仍然存​​在,请尝试在admob中创建一个新的展示位置。这对我有用。无需更改任何内容(展示位置ID字符串除外),代码广告中的其他内容就会开始展示。


0

我犯了最愚蠢的错误。MobileAds.initialize从一个应用程序传递了应用程序ID,loadAd从另一个admob应用程序传递了使用的展示位置ID 。

一旦我更正了展示位置ID,所有功能都可以使用。


0

对我来说,原因是一台设备(小米Mi 9)不再工作且无法显示广告,因此我拿出平板电脑,没有发现任何错误,并且在该版本中正在显示广告。


0

您可能是从adMob控制台创建广告的原因之一,方法是单击“是”,表明您的应用程序已在Playstore中,并提供实时应用程序的网址。在这种情况下,您将无法在其他任何项目中投放广告它具有diff程序包ID,然后是实时程序包ID(甚至没有测试广告)。您必须在包含相同程序包ID的实时项目中实施广告,否则将导致广告无法加载广告:3。

谢谢!编码愉快!


0
Your ad units are not displaying ads because you haven't yet verified your address (PIN).

也许对其他人有帮助,我在我的AdSense帐户上收到了此通知。 在此处输入图片说明


0

W /广告:无法加载广告:3

意思是:广告请求成功,但是由于缺少广告资源而没有退回任何广告。

因此,就我而言,我已评论该keywords:属性以加载所有类型的广告。现在,我的广告已正确加载。

static final MobileAdTargetingInfo targetingInfo = MobileAdTargetingInfo(
        testDevices: testDevice != null ? <String>[testDevice] : null,
        nonPersonalizedAds: true,
        //keywords: <String>['Fitness', 'Yoga', 'Health', 'Exercise', 'Game', 'Doctor', 'Medical'],);


0
  1. 检查并确保您没有将两个帐户链接到adsense,因为我在本案中做错了。

  2. 如果您要在24小时内谨慎创建admob帐户,然后重试


-1

我在Flutter中收到此错误。检查调试控制台并找到此命令

Use.RequestConfiguration.Builder()。setTestDeviceIds(Arrays.asList(“”)

并将设备ID从列表复制到MobileAdTargetingInfo testDevices,它将起作用!

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.