Admob Banner广告无法加载,错误代码:3未填充

时间:2018-11-16 14:22:36

标签: android admob ads banner

我已将admob Banner&Interstitial集成到我的应用中。我注意到某些广告横幅无法加载。广告加载失败时,我已经调试了错误代码,该错误代码很常见错误:3 ,它表示没有填充错误。 我在3-4个屏幕中添加了横幅广告和非页内广告。
现在的问题是,只有一个屏幕的横幅ID正在运行,所有非页内广告都可以正常工作,但是某些横幅无法正常工作。 (在陷波屏中)
当我将所有屏幕的横幅ID更改为可以正常运行的横幅ID,并且所有屏幕也都可以用于缺口屏幕时。
我已经在牛轧糖,奥利奥,棉花糖等中测试过这种情况。普通屏幕和陷波屏幕。
我只是注意到,某些带有缺口屏幕的设备无法加载所有广告。但是所有正常的屏幕都可以正常工作。所以我不能得到确切的问题。
注意:我进行测试时,所有设备都使用相同的wifi网络运行。
我不知道其他单位ID是否有问题。但是我的admob帐户中所有单位ID的设置都相同。根据我的测试案例,我的AdUnit ID出了点问题。但是无法解决问题所在。
我注意到了另外一种情况。如果我在请求中添加了测试ID,那么它也可以正常工作。我从Android日志中获取了设备哈希。

I/Ads: Use AdRequest.Builder.addTestDevice("XXXXXXXXXX") to get test ads on this device.
.addTestDevice("XXXXXXXXXX")


如果有任何额外的调试技巧,请与我分享,以便我详细检查。 有什么可以帮助我详细检查此问题的吗?如果有人需要更多说明,请发表评论。

4 个答案:

答案 0 :(得分:1)

我尝试将运行不同操作系统的设备组合在一起。终于我找到了解决方案。 当应用失败并出现错误代码3(无填充错误)时,我编写了此代码

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

现在,按照Google sample code的要求,我必须将宽度与 match_parent 一起使用,因此我已经更改了宽度与 match_parent ,仍然发生相同的错误。所以最后我用 BANNER 更改了大小类型,现在它可以在所有设备上运行。 (Google的演示代码使用BANNER类型)我刚刚尝试了这种尺寸,现在所有设备都投放广告横幅。 不确定,但根据我的测试方案,广告失败了,哪款设备具有高分辨率(大于19:9的比例,如19:9的比例1080 x 2280像素),并且将横幅尺寸类型设置为 BANNER 后效果很好也具有高分辨率。

答案 1 :(得分:0)

public static final int ERROR_CODE_NO_FILL

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

恒定值:3

来源:文档 https://developers.google.com/android/reference/com/google/android/gms/ads/AdRequest#ERROR_CODE_NO_FILL

您的代码没有错,问题是admob并不总是有Ad来返回您的请求 可能的原因可能是

-您刚刚注册了发布商ID,因为开始投放广告需要一些时间

-您已过滤了一些广告

答案 2 :(得分:0)

  1. 检查并确保您没有将两个帐户关联到adsense,就像我在本案中的错误操作一样。

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

共享编辑删除标记

答案 3 :(得分:0)

我收到的消息完全相同。问题是我使用了错误的测试广告单元ID。正确的是

ca-app-pub-3940256099942544 / 6300978111

来源:https://developers.google.com/admob/android/banner