之前发过一篇《浙政钉2.0免登》的文章。大致介绍了,我们做的项目系统对接浙政钉免登的流程和步骤。有兴趣的朋友们可以先移步到这篇看看。

幸运的金荷,公众号:梁同学Coding浙政钉2.0免登

趁热打铁吧。这期来说下《浙政钉2.0应用埋点对接--稳定性监控代码(Emas)和流量分析代码(A+)》

好家伙,听着感觉好大高上。我第一次听到时,还以为是哪个专业的毕业论文...

其实就是给前端调用的一份对接文档。Ps:应省大数据局要求,现所有浙政钉应用都需要接入监控。

没错,应用埋点对接主要是前端的活,后端只需要返回一个accountId(浙政钉的用户id)

再这里对接中,前端主要需要bid、sapp_id、sapp_name这三个参数,前端参照文档接入,后端需要返回accountId。

Ps:需要浙政钉h5&小程序应用采集的朋友们,可以在我微信公众号对话框中回复zzd(浙政钉)即可获得。

浙政钉应用采集通用代码及相关说明

背景:

通过应用监控可以帮助应用开发者基于前端、应用等维度,构建应用性能及应用浏览、点击事件等业务监控能力。帮助应用归属部门及单位了解应用的运行及使用情况,获取应用的稳定性及使用数据。用于应用使用情况的衡量、晾晒及体验改进。

说明:

埋点代码分为:稳定性监控代码(Emas)流量分析代码(A+);其中流量分析代码(A+)包含1通用采集SDK、2基础埋点、3用户信息埋点;稳定性监控代码(Emas)只需要在首页加入流量分析代码(A+)每个页面都需要加入,也可以写通用js,在其他页面引入。

下面为埋点通用代码,注意每个应用中稳定性监控中的bid和基础埋点中的sapp_id、sapp_name是不同的,各应用具体参数请查看各自应用埋点信息(代码中已标注,需要按实际参数替换)

具体的埋点开发可以参考《浙政钉h5&小程序应用采集开发手册》 

稳定性监控

<script src='https://wpk-gate.zjzwfw.gov.cn/static/wpk-jssdk.1.0.2/wpkReporter.js' crossorigin='true'></script>
<script>
  try {
    const config = {
      bid: '************',
      signkey: '1234567890abcdef',
      gateway: 'https://wpk-gate.zjzwfw.gov.cn'
    };
    const wpk = new wpkReporter(config);
    wpk.installAll();
    window._wpk = wpk;
  } catch (err) {
    console.error('WpkReporter init fail', err);
  }
</script>

流量分析

1. 通用采集 SDK

<script>
  (function(w, d, s, q, i) {
    w[q] = w[q] || [];
    var f = d.getElementsByTagName(s)[0],j = d.createElement(s);
    j.async = true;
    j.id = 'beacon-aplus';
    j.src = 'https://alidt.alicdn.com/alilog/mlog/aplus_cloud.js';
    f.parentNode.insertBefore(j, f);
  })(window, document, 'script', 'aplus_queue');


  aplus_queue.push({
    action: 'aplus.setMetaInfo',
    arguments: ['aplus-rhost-v', 'alog.zjzwfw.gov.cn']
  });
  aplus_queue.push({
    action: 'aplus.setMetaInfo',
    arguments: ['aplus-rhost-g', 'alog.zjzwfw.gov.cn']
  });
  
  var u = navigator.userAgent
  var isAndroid = u.indexOf('Android') > -1
  var isIOS = !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/)


  aplus_queue.push({
    action: 'aplus.setMetaInfo',
    arguments: ['appId', isAndroid ? '28302650' : isIOS ? '28328447' : '47130293']
  });
</script>

2. 基础埋点

// 单页应用 或 “单个页面”需异步补充PV日志参数还需进行如下埋点:
aplus_queue.push({
  action: 'aplus.setMetaInfo',
  arguments: ['aplus-waiting', 'MAN']
});//
// 单页应用路由切换后 或 在异步获取到pv日志所需的参数后再执行sendPV:
aplus_queue.push({
  'action':'aplus.sendPV',
  'arguments':[{
    is_auto: false
  }, {
    // 当前你的应用信息,此两行按应用实际参数修改,不可自定义。
    sapp_id: '*****',
    sapp_name: '*********',
    // 自定义PV参数key-value键值对(只能是这种平铺的json,不能做多层嵌套),如:
    x: 111,
    y: 222
  }]
})

3. 用户信息埋点

// 如采集用户信息是异步行为需要先执行这个BLOCK埋点
aplus_queue.push({
  action: 'aplus.setMetaInfo',
  arguments: ['_hold', 'BLOCK']
});


// 设置会员昵称
aplus_queue.push({
  action: "aplus.setMetaInfo",
  arguments: ["_user_nick", "当前会员用户昵称"]
});
// 设置会员ID
aplus_queue.push({
  action: "aplus.setMetaInfo",
  arguments: ["_user_id", "当前会员ID"]
});
aplus_queue.push({
  action: "aplus.setMetaInfo",
  arguments: ["_dev_id", "yourDeviceId"]
});


// 如采集用户信息是异步行为,需要先设置完用户信息后再执行这个START埋点
// 此时被block住的日志会携带上用户信息逐条发出
aplus_queue.push({
  action: 'aplus.setMetaInfo',
  arguments: ['_hold', 'START']
});

接入成功示意图:

想看前面几期文章 请点击下列图片

收藏 | 湖南省各地教师公务员等实际工资爆料


收藏 | 广东省各地教师公务员等实际工资爆料


收藏 | 江苏省各地教师公务员等实际工资爆料

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐