tho*_*son 23 localhost adsense
是否可以在本地服务器上运行google adsense广告作为示例应用程序的试用版?我想在我的网络应用程序中实施Google adsense广告,该广告是在本地网站上运行的.如果可能的话请建议我的方式.
谢谢.
Ale*_*ust 23
对的,这是可能的.有一个特殊的参数,在没有风险的情况下在Localhost上使用Adsense.
今天,AdSense代码与众不同.如果要data-adtest="on"在ins块中添加adtest-parameter使用.这是一个示例代码:
<script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
<!-- XYZ 336 x 280 -->
<ins class="adsbygoogle"
style="display:inline-block;width:336px;height:280px"
data-ad-client="ca-pub-XXXXXXXXXXXXX"
data-adtest="on"
data-ad-slot="XXXXXXXXXXX"></ins>
<script>
(adsbygoogle = window.adsbygoogle || []).push({});
</script>
Run Code Online (Sandbox Code Playgroud)
cbd*_*per 10
经过大量的试验和错误,这是我发现的。至少,这些是我的结果。
似乎adsbygoogle.js不会在localhost. 您可能会得到如下内容:
因此,您需要做的第一件事是为您的localhost.
这是我在 Windows 上所做的:
然后你应该可以localhost通过点击访问你的dev.mydomain.com
设置本地域后,您应该转到您的AdSense 帐户并将其添加为您注册网站的主域下的子域。
从我运行的测试来看。如果域/子域尚未添加到您的 AdSense 帐户,则 AdSense 似乎不会呈现真实或测试广告。
在本例中,我添加了没有 的主域,www并添加了两个子域。一个是www.变体,另一个是dev.我刚刚添加到我的localhost.
然后你可以在你的代码上渲染它,就像你在真正的添加上一样,并使用data-adtest设置为的标志on来运行你的测试。
<ins className="adsbygoogle"
style={{display:"inline-block", width:"100%", height: "100%"}}
data-ad-client={AD_SENSE_ACCOUNT}
data-ad-slot={AD_SENSE_SLOT}
data-adtest={ON_DEV ? "on" : "off"}
>
</ins>
Run Code Online (Sandbox Code Playgroud)
我有一个ON_DEV标志on,每当我在我的dev.域中时,它都会自动将其设置为。
额外的
这超出了这个问题的范围,但对于一切正常工作都是必要的。
您还需要将其推送到adsbygoogle数组。这就是我在 React 中的做法。
useEffect(()=>{
(window.adsbygoogle = window.adsbygoogle || []).push({});
},[]);
Run Code Online (Sandbox Code Playgroud)
当然,你也需要adsense <script/>标签index.html。
<script data-ad-client="XXXXXXXX" async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
Run Code Online (Sandbox Code Playgroud)
通过执行以下步骤,我能够使 Adsense 广告在 localhost 上工作:
1) 在根目录添加 ads.txt 文件 myDomain
https://support.google.com/adsense/answer/7532444?hl=zh-CN
该文件应该可用于 GET at myDomain.com/ads.txt
(我不确定如果没有这一步,广告是否会起作用)
2)编辑主机系统文件:
在 Linux 和 macOS 中,您可以在以下位置找到它 /etc/hosts
有这样一行添加 127.0.0.1 mylocalstuff.myDomain.com
跑 sudo killall -HUP mDNSResponder
可能还需要重新启动浏览器。
如果没有这一步,你可能会得到一个 403
3)data-adtest="on"在ins标签中使用 ,这样展示次数不受影响。
mylocalstuff.myDomain.com在浏览器中访问(或者mylocalstuff.myDomain.com<:PORT_NUMBER>如果您的本地服务器在 80 以外的端口号上可用)。
灵感来自来源的步骤:
https://medium.com/@jeffersonlicet/testing-ads-on-localhost-300215b415d6
注意:还要注意广告(样式)的空间。如果它被某些宽度或高度限制太多,您可能会收到错误消息,您将看到一个空白。
我也无法data-adtest="on"在 localhost 中显示广告。由于仍然有一个空的 div,作为快速解决方法,我在样式中添加了一个边框,使其看起来像display: inline-block; border: 1px solid green;. 我只关心展示位置以及它如何与我的布局交互,而不关心广告的外观,所以这让我能够看到广告的尺寸并相应地进行布局调整。