ALog - 前端统计框架


未知
跨平台
JavaScript

软件简介

ALog 是前端统计框架。

1. 概述

我们会使用或开发各种不同的统计模块对产品的使用情况进行收集,以便衡量产品的健康状况和对产品发展方向进行决策

随着前端交互越来越丰富,统计要分析的维度也越来越多样

经常一个页面中就会并行着多个统计模块:有性能相关的、有点击相关的、有业务相关的

ALog使用一些少量简单的API将这些复杂的统计模块统一组织起来

[](https://github.com/fex-

team/alog#2-alog%E8%A7%A3%E5%86%B3%E4%BB%80%E4%B9%88%E9%97%AE%E9%A2%98)2.
ALog解决什么问题?

[](https://github.com/fex-

team/alog#2-1-%E5%87%8F%E5%B0%91%E7%BB%9F%E8%AE%A1%E6%A8%A1%E5%9D%97%E5%8A%A0%E8%BD%BD%E5%AF%B9%E4%BA%A7%E5%93%81%E7%9A%84%E5%BD%B1%E5%93%8D)2-1.
减少统计模块加载对产品的影响

ALog使用异步方式加载统计模块,不堵塞页面正常资源加载;

另外值得一提的是,ALog的模块文件不依赖加载顺序、兼容同步和异步加载。

[](https://github.com/fex-

team/alog#2-2-%E5%B9%B6%E8%A1%8C%E5%A4%9A%E4%B8%AA%E7%BB%9F%E8%AE%A1%E6%A8%A1%E5%9D%97)2-2.
并行多个统计模块

[](https://github.com/fex-

team/alog#3-alog%E9%80%82%E5%90%88%E4%BB%80%E4%B9%88%E5%BA%94%E7%94%A8%E5%9C%BA%E6%99%AF)3.
ALog适合什么应用场景?

[](https://github.com/fex-

team/alog#3-1-%E7%AE%80%E5%8D%95%E7%BB%9F%E8%AE%A1)3-1. 简单统计

直接这页面中调用

[](https://github.com/fex-

team/alog#3-2-%E5%A4%8D%E6%9D%82%E7%BB%9F%E8%AE%A1)3-2. 复杂统计

通过define定义统计模块

[](https://github.com/fex-

team/alog#3-3-%E4%BB%A3%E7%90%86%E7%BB%9F%E8%AE%A1)3-3. 代理统计

接入第三方统计模块

4. ALog入门

4-1. 概念

[](https://github.com/fex-

team/alog#4-2-%E5%87%86%E5%A4%87%E5%B7%A5%E4%BD%9C)4-2. 准备工作

  • 页面加载的方式

5. API文档

5-1. ALog模块

5-1-1. alog()

/** 
* 执行 
* @param{String} trackerMethod 追踪器的方法 "<trackerName>.<method>" 
* @param{Object…} params 方法 
*/

function alog(trackerMethod, params)

5-1-2. define()

alog('define', 'pv', function(){
   var pvTracker = alog.tracker('pv');
   pvTracker.set('ver', 1);
   pvTracker.set('px', window.screen.width + 'x' + window.screen.height);
   return pvTracker;});

5-1-3. require()

alog('require', ['pv'], function(pvTracker){
  pvTracker.create({
    postUrl: 'http://localhost/u.gif'
  });});

5-1-4. on()

绑定事件

function record(e){}alog('speed.on', 'record', function(e){
  var buffer = this.get('buffer');
  buffer.push('e');});

5-1-4. un()

注销事件

5-1-5. fire()

派发事件

5-2.

ATracker模块

5-2-1. create()

创建追踪器实例

alog('pv.create', {
  postUrl: 'http://localhost/u.gif'});alog('pv.send', 'pageview');

5-2-1. set()

设置字段值

5-2-2. get()

获取字段值

5-2-3. send()

上报数据

5-2-4. on()

绑定事件

5-2-5. un()

注销事件

5-2-6. fire()

派发事件

[](https://github.com/fex-

team/alog#5-3-%E4%BF%9D%E7%95%99%E5%AD%97%E6%AE%B5)5-3. 保留字段

5-3-1. postUrl

上报地址

5-3-2.

protocolParameter

协议字段,用于简写

[](https://github.com/fex-

team/alog#5-4-%E6%A0%87%E5%87%86%E4%BA%8B%E4%BB%B6)5-4. 标准事件

5-4-1. create

追踪器创建时触发

5-4-2. send

数据上报时派发

[](https://github.com/fex-

team/alog#6-%E5%8F%82%E8%80%83%E6%96%87%E6%A1%A3)6. 参考文档

google analytics https://developers.google.com/analytics/devguides/platform/