数据上报js-sdk说明


  • administrators

    ⾦易联提供⽆埋点数据上报SDK,⽬前⼩程序端⽀持主流的mpvue和Taro框架,以及Web端(受限于浏
    览器,部分数据与⼩程序端会有差异)。

    ⽆埋点采集事件逻辑

    ⽤户画像

    开发者在应⽤启动的时候,需要主动配置部分⽤户数据,包含但不限于⽤户ID、⼩程序appId、⽤户名
    称等等;同时SDK会⾃动采集系统相关数据,包含但不限于操作系统、⼿机型号、⽹络状态等等;后续
    发送的所有埋点事件会统⼀记录上述元数据。
    Web端只能获取操作系统等有限的数据。

    访问数据

    每次⽤户打开⼩程序的时候,发送⼀条 应⽤打开 消息,对应的数据指标是打开次数。发送数据包含但不
    限于以下信息:进⼊⻚⾯、进⼊时间、场景值、来源⼩程序或 App、设备信息、微信信息、应⽤版本
    号。
    每次⽤户关闭⼩程序的时候,关闭动作包括退出⼩程序回到微信或APP,会发送⼀条 应⽤关闭 消息,会
    根据这个消息来计算应⽤访问时⻓。发送数据包含但不限于以下信息:退出⻚⾯、退出时间。
    Web端暂时没有上报应⽤级别事件,主要以⻚⾯为纬度。

    ⻚⾯数据

    每次⽤户访问⼀个新的⻚⾯,发送⼀条 ⻚⾯打开 消息,对应的数据意义是⻚⾯分析。发送数据包含但不
    限于以下信息:⻚⾯信息、打开时间、⻚⾯来源、⻚⾯标题、⻚⾯级变量。
    每次当⽤户点击转发按钮时,会弹出转发框,这时会发送⼀条 要转发消息 消息。这是⼀个⾃定义事件,
    数据包含以下信息:事件时间、所在⻚⾯、转发动作来源、转发⻚⾯标题和转发⻚⾯路径。注意这个事
    件不代表⽤户真正转发了消息到聊天⾥⾯,⽽是⽤户触发了转发动作。如果要跟踪成功转发消息事件,
    建议在 onShareAppMessage 的 success callback ⾥⾯发送⼀个⾃定义事件。
    Web端主要包含⻚⾯访问、⻚⾯离开和停留时间等事件,⽆转发事件。

    ⾏为数据

    对于⽤户在⻚⾯发⽣的⾏为,如果这个⾏为有绑定事件⽐如 bindtap,并且在你的⼩程序⾥⾯进⾏处
    理,那么 SDK 可以捕获到这些事件。开发者需要在⾃定义事件配置⽂件中主动声明需要收集的事件类
    型、⻚⾯和元素等信息,后续SDK会⾃动采集相关事件并进⾏上报。
    Web端也⽀持⾃定义事件,可⾃动将URL参数转化为业务参数,并⽀持声明扩展业务参数,在SDK⾃动
    收集的时候⼀并上报。

    使⽤⽅式

    以下说明以⼩程序SDK为例⼦说明接⼊流程,具体的接⼝⽂档与接⼝参数待补充(可能会有细微的调
    整)。

    1. 引⼊JS-SDK
    import fcTrack from 'FcTrack';
    
    1. 初始化SDK配置,在项⽬⼊⼝进⾏初始化
    // 设置SDK配置,包括⾃定义事件的配置
    fcTrack.setPara({
     appid: '应⽤ID(⼩程序appId)',
     app_name: '应⽤名称',
     app_version: '应⽤版本',
     server_url: '上报服务端地址',
     actionEventData: [
    {
    path: '⼩程序⻚⾯路径',
    methodTracks: [{
     method: '事件处理函数⽅法名',
     chineseMethod: '事件中午名称',
     dataKeys: ['元素中声明的data,例如data-productId="123456"等业务数据'],
     }]
    }
     ],
     app_key_id: '应⽤Key',
     autoTrack: {
     appLaunch: false,
     },
    });
    // 传⼊Taro或mpvue实例,SDK需要劫持实例的事件实现数据收集
    fcTrack.initTrack({ taro: Taro });
    
    1. 上报⽤户信息和ID,⽤户信息通常在应⽤登陆完成后才进⾏获取,需要调⽤SDK接⼝主动上报。
    fcTrack.setOpenid(openId); // 设置⽤户ID
    fcTrack.setUserInfo({ // 设置⽤户信息
    user_id: '⽤户ID',
     name: '昵称',
     avatar: '头像',
     gender: 1, // 微信数据 0 未知,1男性,2⼥性
     country: '国家',
     province: '省份',
     city: '乘⻋',
    });
    
    1. 声明⾃定义事件event_name及其他业务参数,受限于Taro框架,部分事件需要⼿动声明
      event_name,⾃定义事件上报需要携带的业务参数,可以通过声明的⽅式,与事件⼀并上报。
    <Button
    className='iconfont icon-service_btn_press'
    onClick={handleClick}
    data-event_name='handleClickConsult'
    data-fcid={staffId}
    data-timelineid={timelineId}
    ></Button>