让我们假设我们有一个网站,并且为了论证,后端是用 Java 编写的。
让我们还假设我们想为我们网站上的用户捕获点击流数据。我们想跟踪各种事情,例如:
- 知识产权
- 访问时间
- 推荐
- 用户代理
- 等等
另一个假设是我们在某个地方有一个带有 REST 接口的点击流 Web 服务,它只是将我们提供给它的信息保存到数据库中。
现在,从我对这些东西的有限知识来看,我看到了两个问题。
- 如何确保点击流数据被用户捕获而不是被用户回避?
- 如何使您的点击流服务可移植?
目前,我看到了两种实现点击流的方法,但都有一些缺陷。
- 使用 Javascript 发送点击流数据,使其可移植,因此您可以将其连接到任何网站而无需更改后端代码。唯一应该做的改变是在 HTML 中(这些都是次要的)
有一个 HTML 页面
<body onload="captureAndSendClickStreamData();">...</body>
captureAndSendClickStreamData()
您包含的 Clickstream.js 中的函数在哪里。
显然,这种方法提供了简单的可移植性,对吧?但是,如果用户禁用了 JS 怎么办?从本质上讲,他正在阻止您努力工作的点击流服务。
ClickStreamServletFilter
您在某个类中处理捕获点击流数据。明显的优势是最终用户不知道它,也不能真正禁用它。但是,要使用您的点击流服务扩展其他网站,您需要弄乱后端,如果您尝试增强的网站不是用 Java 编写的,那么后端会更加混乱。
所以,我最后的问题是:
- 提到的方法还有其他不那么明显(缺点)的优点吗?
- 还有其他可行的方法吗?
- 像谷歌、Facebook、亚马逊这样的大公司是如何处理这个问题的?
感谢您的时间 :)