Admob Banner 广告加载失败,错误代码:3 未填写

问题描述 投票:0回答:5

我已在我的应用程序中集成了 admob 横幅和插页式广告。我注意到一些广告横幅无法加载。我在广告加载失败时调试了错误代码,错误代码很常见 Error : 3 这意味着 No fill 错误。 我已在 3-4 个屏幕中添加了横幅广告和插页式广告。
现在的问题是,只有一个屏幕横幅 id 正在运行,所有插页式广告都工作正常,但有些横幅无法正常工作。 (在凹口屏幕中)
当我更改所有屏幕横幅 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")


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

android admob ads banner
5个回答
2
投票
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并不总是有广告返回您的请求 可能的原因可能是

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

-您已过滤掉一些广告


0
投票

我尝试过运行不同操作系统的设备组合。最后我得到了解决方案。 当应用程序失败并出现错误代码 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> 

现在根据谷歌示例代码,我必须将宽度与match_parent一起使用,所以我用match_parent更改了宽度,但仍然发生了相同的错误。所以最后我用 BANNER 更改了 Size 类型,现在它在所有设备上运行。 (Google 的演示代码使用 BANNER 类型)我刚刚尝试了这个尺寸,现在所有设备都运行广告横幅。 不确定,但根据我的测试场景,广告失败的设备具有大分辨率(超过 16:9 比例,如 19:9 比例 1080 x 2280 像素),并且将横幅尺寸类型设置为 BANNER 后也可以在大分辨率下正常工作。


0
投票
  1. 检查并确保您没有将两个帐户链接到 AdSense,就像我在我的案例中错误地做的那样。

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

分享编辑删除标志


0
投票

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

ca-app-pub-3940256099942544/6300978111

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


0
投票

我提出了一些问题,我的解决方案是更改我的项目的包名称,在项目目录的 google-servise.json 中,我的页面名称是 com.example.erningapp,问题是有人正在使用这个包其原因是服务器上出现错误,请随时与我联系以获取更多详细信息[email protected]

© www.soinside.com 2019 - 2024. All rights reserved.