Google adsense可用于localhost吗?

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)

  • 这个建议今天仍然有效吗?测试了代码(放置了正确的pub id和slot id)但它不起作用 - 我只看到一个应该显示广告的空白区域. (18认同)
  • 也没有为我工作。它只是留下空白区域。尝试了“数据测试”和“数据测试”。 (6认同)
  • 我也只看到空白。不过,您可以在 AdSense 信息中心的“备用广告”下的广告设置中选择不同的颜色来显示。这至少准确地显示了广告将显示的位置。 (3认同)
  • 这不应该再被标记为解决方案,因为它根本不起作用。Google Chrome 检查器显示“无法加载资源,403”,因此超级管理员应将此问题标记为再次开放,并注明:2019 年所需的解决方案! (3认同)
  • @tyteen4a03确实你是对的,我应该更加参与! (2认同)

cbd*_*per 10

经过大量的试验和错误,这是我发现的。至少,这些是我的结果。

似乎adsbygoogle.js不会在localhost. 您可能会得到如下内容:

在此处输入图片说明

因此,您需要做的第一件事是为您的localhost.

这是我在 Windows 上所做的:

  • 以管理员身份运行记事本。
  • 打开 C:\Windows\System32\drivers\etc\hosts
  • 将您的自定义域添加到列表中

在此处输入图片说明

在此处输入图片说明

然后你应该可以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)


Flo*_*bre 6

通过执行以下步骤,我能够使 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

/sf/answers/2407238431/

注意:还要注意广告(样式)的空间。如果它被某些宽度或高度限制太多,您可能会收到错误消息,您将看到一个空白。


Tre*_*ass 6

我也无法data-adtest="on"在 localhost 中显示广告。由于仍然有一个空的 div,作为快速解决方法,我在样式中添加了一个边框,使其看起来像display: inline-block; border: 1px solid green;. 我只关心展示位置以及它如何与我的布局交互,而不关心广告的外观,所以这让我能够看到广告的尺寸并相应地进行布局调整。