当前位置:   article > 正文

浙政钉埋点 -- 稳定性监控代码(Emas)和流量分析代码(A+)_浙政钉bid

浙政钉bid

浙政钉埋点

  • “埋点”可以理解为用户行为数据采集,针对特定用户行为或事件进行捕获、处理和发送的相关技术及其实施过程。例如访问某个页面次数和某一个按钮的点击次数。
  • 在做完一个浙政钉浙政钉应H5之,后要求对该应用进行埋点处理。
  • 浙政钉埋点需要做两部分,稳定性监控代码(Emas)、流量分析代码(A+)。
稳定性监控代码(Emas)
  // 在index.html 引入, 修改对呀的bid
  <script src='https://wpk-gate.zjzwfw.gov.cn/static/wpk-jssdk.1.0.2/wpkReporter.js' crossorigin='true'></script>

  <script>
    try {
      const config = {
        bid: 'xxxxxxxx', // 埋点 应用的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
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
流量分析代码(A+)
  // index.html 引入 js
  <script>
    // 流量分析代码(A+)
    (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>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  // baseAplus 函数需要在每一个页面去调用这个方法, route 是当前页面的路由, userInfo是当前账号的用户信息
  const baseAplus = ({ route, userInfo }) => {

    // 基础埋点
    
    // 单页应用 或 “单个页面”需异步补充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: 'xxxxx',
          sapp_name: 'xxxxxxx',

          // 自定义PV参数key-value键值对(只能是这种平铺的json,不能做多层嵌套)
          // page_id, page_url 尽量唯一, 不要重复(重复的话埋点可能会失败)
          page_id: route.name,
          page_name: route.meta.name,
          page_url: route.path 
        }
      ]
    })

    // 用户信息埋点

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

    // 设置会员昵称
    aplus_queue.push({
      action: 'aplus.setMetaInfo',
      arguments: ['_user_nick', userInfo.lastName]
    })

    // 设置会员ID
    aplus_queue.push({
      action: 'aplus.setMetaInfo',
      arguments: ['_user_id', userInfo.accountId]
    })

    // // 设备ID是业务定义的,用于定义唯一的设备标识。这个目前没有要求,可不设置。
    // aplus_queue.push({
    //   action: "aplus.setMetaInfo",
    //   arguments: ["_dev_id", "yourDeviceId"]
    // });

    // 如采集用户信息是异步行为,需要先设置完用户信息后再执行这个START埋点
    // 此时被block住的日志会携带上用户信息逐条发出
    aplus_queue.push({
      action: 'aplus.setMetaInfo',
      arguments: ['_hold', 'START']
    })
  }
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号