如何在本地主机中呈现 Google 个广告单元?
How do you render Google ad units in localhost?
根据研究,2014 年的一个问题 (Is Google adsense available for localhost?) 建议添加:
data-adtest="on"
在测试和阅读 comments 之后,该解决方案不再有效。在广告单元中:
<script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
<!-- responsive_ad -->
<ins class="adsbygoogle"
style="display:block"
data-ad-client="ca-pub-####"
data-ad-slot="######"
data-ad-format="auto"
data-adtest="on"
data-full-width-responsive="true">
</ins>
<script>
(adsbygoogle = window.adsbygoogle || []).push({});
</script>
在 Chrome 中测试后,Firefox 和 Safari 会呈现一个白框。搜索后,我无法在产品论坛或任何网站上找到任何解决方案。如何在本地主机中测试广告单元?
我也尝试了 data-adtest="on"
方法,但它对我也不起作用。我发现了两种不同的测试方法:
- 使用占位符,大多数Google Adsense 论坛条目建议的方式。
e. G。这里:https://productforums.google.com/forum/#!msg/adsense/RLeUEq6na-w/i93-TFVRiHUJ
(我已经自己尝试过了,我对解决方案很满意)
- 使用您自己的 (dev) 域 解释如下:https://medium.com/@jeffersonlicet/testing-ads-on-localhost-300215b415d6(我无法自己尝试,因为我没有域)
如果您打开了开发人员控制台,您会看到出现 403 错误。此处进一步解释了此错误的原因:https://www.shoutmeloud.com/adsense-403-forbidden-error.html。简而言之:Adsense 爬虫拒绝 Localhost。这就是为什么您得到白色 space 而不是广告的原因。
但如果有第三种方法,我也很乐意听到。
正如另一个答案所暗示的,使用 localhost 以外的主机名很重要。使用 0.0.0.0
可以是一个简单的选项。
自 2021 年初以来 Google 似乎需要明确的 TCF v2.0 同意才能加载任何广告。以下代码段可以包含在应用程序代码或类似 Violentmonkey:
中
window.__tcfapi = (command, parameter, callback) => {
if (command === 'checkConsent') {
callback(true);
}
if (command === 'addEventListener') {
callback({eventStatus: 'tcloaded', gdprApplies: false}, true);
}
};
根据研究,2014 年的一个问题 (Is Google adsense available for localhost?) 建议添加:
data-adtest="on"
在测试和阅读 comments 之后,该解决方案不再有效。在广告单元中:
<script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
<!-- responsive_ad -->
<ins class="adsbygoogle"
style="display:block"
data-ad-client="ca-pub-####"
data-ad-slot="######"
data-ad-format="auto"
data-adtest="on"
data-full-width-responsive="true">
</ins>
<script>
(adsbygoogle = window.adsbygoogle || []).push({});
</script>
在 Chrome 中测试后,Firefox 和 Safari 会呈现一个白框。搜索后,我无法在产品论坛或任何网站上找到任何解决方案。如何在本地主机中测试广告单元?
我也尝试了 data-adtest="on"
方法,但它对我也不起作用。我发现了两种不同的测试方法:
- 使用占位符,大多数Google Adsense 论坛条目建议的方式。 e. G。这里:https://productforums.google.com/forum/#!msg/adsense/RLeUEq6na-w/i93-TFVRiHUJ (我已经自己尝试过了,我对解决方案很满意)
- 使用您自己的 (dev) 域 解释如下:https://medium.com/@jeffersonlicet/testing-ads-on-localhost-300215b415d6(我无法自己尝试,因为我没有域)
如果您打开了开发人员控制台,您会看到出现 403 错误。此处进一步解释了此错误的原因:https://www.shoutmeloud.com/adsense-403-forbidden-error.html。简而言之:Adsense 爬虫拒绝 Localhost。这就是为什么您得到白色 space 而不是广告的原因。
但如果有第三种方法,我也很乐意听到。
正如另一个答案所暗示的,使用 localhost 以外的主机名很重要。使用 0.0.0.0
可以是一个简单的选项。
自 2021 年初以来 Google 似乎需要明确的 TCF v2.0 同意才能加载任何广告。以下代码段可以包含在应用程序代码或类似 Violentmonkey:
中window.__tcfapi = (command, parameter, callback) => {
if (command === 'checkConsent') {
callback(true);
}
if (command === 'addEventListener') {
callback({eventStatus: 'tcloaded', gdprApplies: false}, true);
}
};