我有游戏社区论坛,我在那里安装了一些谷歌广告,但人们滥用它(出于他们的良好意愿)并不断点击它们...现在我不想对网站产生任何非法点击,但有些人只是不听。
有没有办法检测是否有人点击了谷歌广告...所以我可以禁用它们用于点击它们一天左右的用途。
谢谢你的帮助。
答案 0 :(得分:4)
如果我没记错的话 - 您可以通过Google广告规则跟踪广告点击次数,因为它可以为点击广告提供激励。 (例如禁用它们)。我意识到你正试图修复非法点击问题,但实际上你正在挖掘自己的坟墓。
但是要回答纯粹的web-dev兴趣的问题 - 您可以在window.onbeforeunload
中检测鼠标X Y位置(+页面滚动偏移)并快速ping您的服务器。通常这是通过创建一个new Image();
来完成的,源是一个php文件。
这适用于所有浏览器,无论iframe使用情况如何。
祝你好运!
答案 1 :(得分:2)
Google广告是iframe,如果Javascript位于与父网站不同的域上,则Javascript无法访问内容或向其添加事件(请参阅iframe here的法律规定。)
但是,您可以在iframe上放置一个明确的div(visibility: hidden
,而不是display: none
),并在某种程度上拦截对它的点击。唯一的问题是你要么截取点击,要么你没有。因此,当用户第一次点击您可以运行您是否允许的逻辑时,如果您想允许它,display: none
您的div并提示用户再次单击。
这几乎是你能做到的唯一方法。
答案 2 :(得分:2)
您可以使用iframetracker插件。
<script src="jquery.min.js"></script>
<script src="jquery.iframetracker.js"></script>
$('iframe').iframeTracker({
blurCallback: function(){
// Do something when clicked on ad
}
});
了解更多信息并进行演示检查here。
答案 3 :(得分:1)
在这里,您有一些谷歌的官方答案:
http://adwords.blogspot.com.ar/2006/03/about-invalid-clicks.html
检测重复的IP并不困难,他们也可以使用Cookie来跟踪用户。除非使用大量代理(假电脑)进行故意的欺诈工作,否则你不应该有任何问题。
将这项工作带到Adsense,他们有多个数据源来检测。如果你安装了谷歌分析,你也给他们足够的信息来放弃技巧。
答案 4 :(得分:0)
您可以将jQuery .click()
事件与某些存储(Cookie或数据库)结合使用。然后,您只需找到包含广告的元素,在其上附加该点击事件并执行您的业务逻辑(检查用户之前是否已经点击过)。您还可以操纵点击进展到广告的方式(如果是否已注册)。