我需要开发一个内部实时分析解决方案(例如类似于GA或mixpanel),它们收集:
..并使用单像素图像请求将此数据发送到服务器。与GA和其他解决方案的工作方式类似:
Google Analytics的工作原理是包含一段JavaScript代码 在您网站的页面上。当用户访问您的网站时,请查看此页面 JavaScript代码引用 JavaScript文件然后执行 Google Analytics跟踪操作。跟踪操作检索 有关页面请求的数据通过各种方式,发送此信息 通过附加的参数列表向Analytics服务器提供信息 单像素图像请求。
我想知道是否有任何可用的开源项目可以用作基础来进一步构建。有Piwik
,但它的功能太多而且太重了我的要求。
编辑添加:我正在做一些特定的数据,否则我只是使用现有的解决方案。
答案 0 :(得分:4)
尝试
var img = new Image;
img.width = img.height = "1px";
var res = window.navigator;
var data = {};
var _plugins = {};
Array.prototype.slice.call(navigator.plugins).forEach(function(v, k) {
_plugins[v.name.toLowerCase().replace(/\s/, "-")] = {
"name": v.name,
"description": v.description,
"filename": v.filename
}
});
delete res.plugins && delete res.mimeTypes;
data.url = window.location.href;
data.ref = document.referrer;
data.nav = res;
data._plugins = _plugins;
// set `img` `dataset` with `data` ,
// send `img` to server , decode `img` `dataset` at server
img.dataset.stats = JSON.stringify(data);
var img = new Image;
img.width = img.height = "1px";
var res = window.navigator;
var data = {};
var _plugins = {};
Array.prototype.slice.call(navigator.plugins).forEach(function(v, k) {
_plugins[v.name.toLowerCase().replace(/\s/, "-")] = {
"name": v.name,
"description": v.description,
"filename": v.filename
}
});
delete res.plugins && delete res.mimeTypes;
data.url = window.location.href;
data.ref = document.referrer;
data.nav = res;
data._plugins = _plugins;
img.dataset.stats = JSON.stringify(data);
document.write(
img.dataset.stats
);
答案 1 :(得分:3)
开源分析有两大解决方案。
如你所提到的,Piwik是一个记录良好且非常成熟的解决方案。深入了解代码,Piwik如何让事情发生就会给你。Open Web Analytics是游戏中的另一个重要角色。一个更简化的工具,可以帮助您了解如何进行基本跟踪。
根据您要跟踪的数据,我还建议您查看使用套接字的tutorial,以便跟踪实时数据。
如果你想追踪用户的互动性,你可以查看Crazy Egg的功能,但不是最后一次。