我已将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")
如果有任何额外的调试技巧,请与我分享,以便我详细检查。
有什么可以帮助我详细检查此问题的吗?如果有人需要更多说明,请发表评论。
答案 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
您的代码没有错,问题是admob并不总是有Ad来返回您的请求 可能的原因可能是
-您刚刚注册了发布商ID,因为开始投放广告需要一些时间
-您已过滤了一些广告
答案 2 :(得分:0)
检查并确保您没有将两个帐户关联到adsense,就像我在本案中的错误操作一样。
如果您要在24小时内谨慎创建admob帐户,然后重试
共享编辑删除标记 p>
答案 3 :(得分:0)
我收到的消息完全相同。问题是我使用了错误的测试广告单元ID。正确的是
ca-app-pub-3940256099942544 / 6300978111