我尝试在从Firebase加载内容后加载AdSense自适应广告,但是没有广告显示,只是空白。将代码放到网上后,我收到错误:
availableWidth = 0
没有插槽大小
我在谷歌浏览了大约4页以找到解决方案,但无法获得解决方案,所以我认为你可以帮助我。
我正在应用以下AdSense代码:
<head>
<script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
</head>
<body>
<div id="demo" style="display: none;">
<!-- SnusPedia automatic size add -->
<style>
.example_responsive_1 { width: 320px; height: 100px; }
@media(min-width: 500px) { .example_responsive_1 { width: 468px; height: 60px; } }
@media(min-width: 800px) { .example_responsive_1 { width: 728px; height: 90px; } }
</style>
<ins class="adsbygoogle example_responsive_1"
style="display:block"
data-ad-client="ca-pub-8297030761327810"
data-ad-slot="9809929086"
data-ad-format="auto"></ins>
<script>
window.onload = function(){
(adsbygoogle = window.adsbygoogle || []).push({});
}
</script>
</div>
</body>
什么可能导致问题?
答案 0 :(得分:0)
如果广告被隐藏或宽度/高度为0,则AdSense不会展示广告,因为您的周边div#demo
会出现这种情况。它完全隐藏,因此AdSense无法填充广告,因为没有可用空间。尝试从display: none
删除#demo
。
此外,不允许在自定义事件上加载广告,这意味着在等待firebase查询后,可能会违反Google的TOS来显示广告。
我可以想象您可以删除加载adsbygoogle.js
的脚本标记,然后等待您的firebase查询并加载adsbygoogle.js
- 但我怀疑Google是否允许这样做。
我建议您只需从外部div中删除display: none
,只需加载广告,无论您的firebase查询是否已完成。