美文网首页
埋点方式方法研究

埋点方式方法研究

作者: 神刀 | 来源:发表于2019-10-25 14:40 被阅读0次

    第一类是代码埋点,即在需要埋点的节点手动调用接口上传埋点数据,友盟、百度统计等第三方数据统计服务商大都采用这种方案;

    第二类是可视化埋点,即通过可视化工具配置采集节点,在前端自动解析配置并上报埋点数据,从而实现所谓的“无痕埋点”, 代表方案是已经开源的Mixpanel

    第三类是“无埋点”,它并不是真正的不需要埋点,而是前端自动采集全部事件并上报埋点数据,在后端数据计算时过滤出有用数据,代表方案是国内的GrowingIO。

    无埋点数据需求

    • 小程序的初始化执行情况上报
    • 接口请求上报
    • 错误上报
    • 用户行为上报

    针对微信小程序开发无埋点sdk的难点及重点

    • 无法直接拦截/监听请求 微信请求统一通过微信API完成 ,请求模块已被微信方封装,且小程序的运行环境不是浏览器对象,不像web应用那样重写封装很自如。

    • 三种运行环境的监控兼容性保证

    • Android 上,js运行环境是 X5 内核

    • iOS 上,js 运行环境是 JavaScriptCore

    • 开发工具上, j s运行环境是 nwjs(chrome内核)

    • 用户行为无法直接监听

    • 强拓展性 需要适用于多种架构设计场景(小程序)下使用

    • sdk需轻量 每个小程序的包存在2M的限制,并且小程序并不支持在代码中引入npm包,故sdk本身会占用2M的大小限制。虽然小程序有分包的内测,但该功能未完全放开,再者作为一个sdk体积过大也是不合理的。

    • 数据收集量大,尽量减少性能损耗

    • 不影响业务(基本需求)

    小程序无埋点sdk设计

    数据层设计:

    数据流走向设计:

    采集方式设计:

    接入方式:
    import Prajna from './lib/prajna-wxapp-sdk.js';

    Prajna.init({channel: 'channel',env: config.IS_PRODUCION ? 'product': 'beta',project: 'yourProjectName',methodConfg: {} // 业务特殊关注的方法执行和自定义打点名称})

    小程序无埋点SDK中遇到的问

    灰度上线,简单点理解就是按产品需求优先级,抽出核心需求,在满足用户基本要求的情况下快速上线,并通过限制流量、白名单等机制进行产品试用,以此收集用户的意...

    无埋点或者全埋点可以通过一个配置文件来让前端过滤,然后传给后端,节省流量

    相关文章

      网友评论

          本文标题:埋点方式方法研究

          本文链接:https://www.haomeiwen.com/subject/thbsvctx.html