使用Google AdSense的400次错误请求

use*_*289 41 javascript ajax adsense

我正在运行一个使用AJAX请求和history.pushState进行导航的网站.

请求的内容代码包含Google的异步AdSense代码:

<ins class="adsbygoogle"
     style="display:inline-block;width:468px;height:60px"
     data-ad-client="ca-pub-xxxxx"
     data-ad-slot="xxxxxx"></ins>
<script>
(adsbygoogle = window.adsbygoogle || []).push({});
</script>
Run Code Online (Sandbox Code Playgroud)

head标记包含adsbygoogle.js:

<script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
Run Code Online (Sandbox Code Playgroud)

此设置适用于一个动态加载的网页浏览.之后,广告不再显示.错误控制台显示:

400 (Bad Request) in expansion_embed.js:188
Run Code Online (Sandbox Code Playgroud)

expansion_embed.js从http://googleads.g.doubleclick.net/pagead/ads请求广告.requestet url包含许多参数.

现在,每一个广告的时间露面,prev_fmts参数的值468x60.如果广告无法加载,则此参数的值为486x60%2C468x60.

导致此参数发生变化的原因是什么?此更改是否可能导致400 Bad Request错误?

Rob*_*air 61

你只需要等待,当你第一次实现Adsense时,它会给出这个错误.直到第二天早上,Adsense才开始展示广告.我实施了他们的自适应广告类型.

  • 什么是奇怪的是400而不是其他任何东西,并且在AdSense仪表板中没有任何警告. (8认同)
  • 花了大约一个小时给我.奇怪的是有延迟! (2认同)
  • @AndreiMotinga是的,这就是他们如何滚动 (2认同)
  • 现在我只花了15分钟,比一个小时或更长时间要好得多,但还是很la脚... (2认同)

pau*_*eno 3

我也遇到了同样的问题,经过一番研究,我发现这是 Google Adsens 和 AJAX 网站之间不兼容的问题。

请参阅Google 的公告以及Google 论坛中的这两个 主题。

我试图人为地破坏prev_fmts参数,但我无法通过混淆的 JS 找到方法。无论如何,我想这样做会违反 Google Adsense TOS。