使用Javascript进行实时基本网络分析

时间:2014-12-20 14:34:42

标签: javascript google-analytics analytics

我需要开发一个内部实时分析解决方案(例如类似于GA或mixpanel),它们收集:

  • 网站本身的信息(网址)
  • 来自用户浏览器的信息(lang,device,OS等..)
  • 来自推荐来源的信息等。

..并使用单像素图像请求将此数据发送到服务器。与GA和其他解决方案的工作方式类似:

  

Google Analytics的工作原理是包含一段JavaScript代码   在您网站的页面上。当用户访问您的网站时,请查看此页面   JavaScript代码引用 JavaScript文件然后执行   Google Analytics跟踪操作。跟踪操作检索   有关页面请求的数据通过各种方式,发送此信息   通过附加的参数列表向Analytics服务器提供信息   单像素图像请求

我想知道是否有任何可用的开源项目可以用作基础来进一步构建。有Piwik,但它的功能太多而且太重了我的要求。

编辑添加:我正在做一些特定的数据,否则我只是使用现有的解决方案。

2 个答案:

答案 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的功能,但不是最后一次。