概述
最近项目中需要埋点跟踪用户的使用情况,记录用户数量和分析用户的行为,所以用到诸葛IO,这里记录一些关于诸葛IO的使用方法和问题。
更详细的了解,可以查看诸葛IO的文档
前言
诸葛IO分免费试用版和付费版,在项目当中,一般是使用付费版,付费版代码跟免费试用的版本主要是SDK和域名的不同,其他文档都是一致的。新手第一次用可以使用免费试用版,熟悉和了解相关的功能,试用版有效期是一个月。
概念解析
事件
诸葛io上对事件的定义
用户在产品上的行为我们定义为事件,它是用户行为的一个专业描述,用户在产品上的所有获得的程序反馈都可以抽象为事件进行采集。
在诸葛io中,比较重要的是事件。我们通过自定义事件的名称,属性和值来采集用户行为的数据。在实际项目中,我们需要设计好采集的方案,对每个功能的事件进行划分,具体根据项目而定
开始使用
- 首先,我们在官网注册账号并且创建应用后,可以在产品页面看到数据接入的技术指导
- 我们可以根据数据接入的指导安装SDK,复制该段代码到我们的js中即可完成安装。其中window.zhuge.load中的APPkey一定要写对,不然看不到数据
<script type = "text/javascript">
(function() {
if (window.zhuge) return;
window.zhuge = [];
window.zhuge.methods = "_init identify track trackRevenue getDid getSid getKey setSuperProperty setUserProperties setWxProperties setPlatform".split(" ");
window.zhuge.factory = function(b) {
return function() {
var a = Array.prototype.slice.call(arguments);
a.unshift(b);
window.zhuge.push(a);
return window.zhuge;
}
};
for (var i = 0; i < window.zhuge.methods.length; i++) {
var key = window.zhuge.methods[i];
window.zhuge[key] = window.zhuge.factory(key);
}
window.zhuge.load = function(b, x) {
if (!document.getElementById("zhuge-js")) {
var a = document.createElement("script");
var verDate = new Date();
var verStr = verDate.getFullYear().toString() + verDate.getMonth().toString() + verDate.getDate().toString();
a.type = "text/javascript";
a.id = "zhuge-js";
a.async = !0;
a.src = 'https://zgsdk.zhugeio.com/zhuge.min.js?v=' + verStr; //免费版的sdk
a.onerror = function() {
window.zhuge.identify = window.zhuge.track = function(ename, props, callback) {
if(callback && Object.prototype.toString.call(callback) === '[object Function]') {
callback();
} else if (Object.prototype.toString.call(props) === '[object Function]') {
props();
}
};
};
var c = document.getElementsByTagName("script")[0];
c.parentNode.insertBefore(a, c);
window.zhuge._init(b, x)
}
};
window.zhuge.load('xxxxxxxxxxxxxxxxxxx', { //配置应用的AppKey,这个最重要
superProperty: { //全局的事件属性(选填)
'应用名称': '诸葛io'
},
debug: false, //实时调试,默认为false
adTrack: false,//广告监测开关,默认为false
zgsee: false,//视屏采集开关, 默认为false
autoTrack: false,
//启用全埋点采集(选填,默认false)
singlePage: false //是否是单页面应用(SPA),启用autoTrack后生效(选填,默认false)
});
})();
</script>
- 插入埋点:
//属性名称不能超过255个字符,属性值不能超过200个字符
zhuge.track('推文', {
'事件类型' : '页面浏览',
'页面类别' : '加入宣传',
'用户类型' : ‘test’
});
另外,如果项目中需要记录用户的身份,我们可以调用identify的方法进行采集,采集的内容包括一个全局唯一的名称或者id和用户属性。
如果没有记录用户的身份,则在面板中显示的是匿名用户。
zhuge.identify("demo@zhugeio.com", // 用户的id
{
// 用户的属性
"性别": "男",
"年龄": 28
});
- 测试的时候在window.zhuge.load中设置debug为true,操作埋点的功能,然后在实时调试中查看
另外,我们也可以在分析的事件中查看操作该事件的用户数,按照时间来划分,通过折线图和图表反映事件的操作情况
我们可以点击表格中某日的用户数,会看到具体的用户名称。点击某个用户进去,可以看到用户的所有操作和埋点的信息,按时间排序。
注意:诸葛IO埋点显示有时候会有延迟,不一定会很快在分析或者面板上看到操作的数据,需要等待2分钟或者更长的时间,这个就不确定了。
小程序中使用诸葛io
- 小程序中使用,需要注意的是要把诸葛io域名加入小程序的requset域名中
- 我这边使用的是npm的集成方式。
在小程序根目录运行npm init创建package.json文件。
注意,导入的包会使用async,需要在微信开发者工具中把增强编译打开,右上角详情—本地设置 —增强编译。否则在生产环境会提示regeneratorRuntime is not defined的错误使用npm install --production zg-sdk-wechart安装sdk 在app.js文件中引入sdk: import 'zg-sdk-wechart' 定义配置信息: const zgConfig = { debug: false, // 打开实时调试 pv: false, // 是否启用页面访问统计功能 forwardShare: true, // 是否启用转发分享数据采集开关,默认为false utmMode: 'session', serverUrl: { // 事件上报地址。使用的上报地址,应在微信开发设置中,注册为合法域名 normal: 'https://xxx.zhugeio.com', // 主地址 bac: 'https://xxx.zhugeio.com' // 备用地址 }, } App.zhuge.load(AppKey, zgConfig); 通过App.zhuge.identify()和App.zhuge.track()收集相关信息