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

Admob Banner ads fail to load, Error Code : 3 No fill

我已经在我的应用程序中集成了 admob 横幅广告和插页式广告。我注意到一些广告横幅无法加载。当广告加载失败时,我调试了错误代码,错误代码很常见 Error : 3 这意味着 No fill 错误。 我在 3-4 个屏幕中添加了横幅广告和插页式广告。
现在的问题是只有一个屏幕横幅 ID 是 运行,所有插页式广告都可以正常工作,但有些横幅广告无法正常工作。 (刘海屏)
当我用 运行 正确更改所有屏幕横幅 ID 时,所有屏幕也适用于缺口屏幕。
我已经在牛轧糖、奥利奥、棉花糖等中测试过这种情况。普通屏幕和缺口屏幕。
我只是注意到某些设备 运行 缺口屏幕并未加载所有广告。但所有正常屏幕都工作正常。所以我无法得到确切的问题。
注意:我测试时所有设备都是运行同一个wifi网络。
我不知道其他单位ID是否有问题。但是所有单位 ID 在我的 admob 帐户中都有相同的设置。根据我的测试案例,我的 AdUnit id 有问题。但无法得到什么问题。
我又注意到一个案例。如果我在请求中添加了测试 ID,那么它也能正常工作。我从 android 日志中获得了设备哈希值。

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


如果admob帐户有任何额外的调试技术,请与我分享,以便我详细检查。 任何人都可以帮我详细检查这个问题吗?如果有人需要更多解释,请发表评论。

public static final int ERROR_CODE_NO_FILL

广告请求成功,但由于缺少广告库存,没有广告return。

固定值:3

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

您的代码没有任何问题,问题是 admob 并不总是根据您的请求向 return 投放广告 可能的原因可能是

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

-您过滤了一些广告

我试过 运行 不同 OS 设备的组合。最后我得到了解决方案。 我在应用程序失败时编写了这段代码,错误代码为 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 类型)我刚刚尝试了这个尺寸,现在所有设备 运行 广告横幅。 不确定,但根据我的测试场景广告失败,哪个设备具有大分辨率(超过 16:9 比率,如 19:9 比率 1080 x 2280 像素)并且在将横幅尺寸类型设置为 BANNER 之后 也适用于大分辨率。

  1. 检查并确保您没有将两个帐户链接到 adsense,因为我在我的案例中错误地这样做了。

  2. 如果您只是创建 admob 帐户,请等待 24 小时后再试

分享编辑删除标志

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

ca-app-pub-3940256099942544/6300978111

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