第一部分 数据分类

根据我目前接触到的数据领域里面,将数据分为以下两类:

  • 日志数据,记录了用户访问、浏览、点击等发生了行为动作的埋点数据日志;
  • 业务数据,记录了用户使用产品过程中发生的状态变化的业务库数据表,如用户数据表,商品详情表;

通俗的说,就是用户发生的行为动作(动态)和用户的状态(静态)的两种类型数据

进行数据埋点,就是为了记录下用户再什么场景下,做了什么动作,进而为后续的分析用户意图提供依据。

第二部分 埋点数据的组成和上报机制

1.埋点数据的三个组成部分

  • 环境数据:用户使用环境信息,一般表示设备的信息,如用户手机型号,系统版本,网络状态等以及和apk版本信息,如apk版本号,下载渠道;
  • 公共数据:即所有用户行为日志中的公共部分,如时间戳,会话id等
  • 业务数据:如上报一个点击关注别人按钮的事件,需要知道关注者,被关注者,关注成功或失败等

举个例子,以原生app为例,一般要记录以下信息:



坏境数据
"Common":{
    "imei": "12222",//国际移动设备识别号
    "imsi": "12222",//国际移动设备识别码
    "brand": "Huawei",//手机品牌
    "client_version_code": "12222",//apk版本号
    "channel": "google",//下载渠道
    "version_code": 2666,//apk包自增序号
    "os_version":"4.4.2",//手机系统版本号
    "Model":"Huawei P20",//手机型号
    "net_type":"2G",//网络状态
    "deviceid":"1038d96a-e615-4b1b-9fc3-a38cc427f927",//设备id
    "sp_code":"12333",//运营商编码
    "platform":"android", //"android","iOS"
    "session_id":"111",//会话id
    "event_id":"111",//事件序号
    "system_language":"1222", //手机系统语言
    "client_ip":"111",//ip地址 
    "country":"CN"//国家
}

公共数据:
"Common":{
    "user_id":"1222",//用户id,也是该案例中的
    "client_time":"yyyy-mm-dd hh:mm:ss",   //事件发生时间
    "session_id":"1222", //会话id
    "event_id":"1",//事件序号,从1开始自增 
    "event_name":"click_to_follow"//事件名字
}
  
业务数据:
{
   "be_followeder_id":"1222",
   "followe_results":"success"
}



2.数据上报机制

一般来说,上报机制可以灵活选择,但是由于客户端数据有延迟的特性,比较重要的数据可以选择立即上报,避免因为断网、应用关闭进程等原因丢失实时数据;一般的数据可以选择聚合上报,几十秒或者一分钟一次聚合都行,因为频繁上报可能会占用用户的流量,影响用户的正常的产品使用

第三部分 3个重要的数据埋点事件

1.PV事件

埋点需求:app所有页面的访问事件,主要统计每个页面的pv、uv和页面停留时长

触发机制: 页面加载完成

上报机制:一分钟一次聚合上报;上报失败,保存本地,客户端每次(断网等原因)重新连接服务器时,即时上报

{
 "Common":{"坏境数据"},
 "Common":{"公共数据"},
 "page_id":1,//页面id或者页面名称
 "pre_page_id":2, //上个页面的名称
 "page_duration":1000 //单位:毫秒
}

2.曝光事件

以今日头条的信息流广告位为例

埋点需求:上报信息流广告曝光事件,用于后续的展示点击(即CTR)计算

触发机制: 1)整个消息高度的100%展示在用户可见的屏幕就算曝光;

2)列表滑动不上报,列表停止滑动时才算曝光 ;(即快速滑动不计曝光)

3)单次pv中,同一广告多次展示不做重复上报(即页面加载一次仅上报一次)

上报机制:退出页面时聚合上报;上报失败,保存本地,客户端每次(断网等原因)重新连接服务器时,即时上报



{
  "Common":{"坏境数据"},
  "Common":{"公共数据"},
  "extra json":
   [
     {"ads_id": "12345"}, //广告id
     {"bid_id": "12345"}// 广告素材id //一个页面上可能有多个信息流广告,打包成数组结构并聚合上报
   ]  
}





android apk的用户数据 安卓app用户数据是什么_公共数据


网上截图:今日头条信息流广告

3.播放事件(即video_view,下文简写vv)

埋点需求:用户观看视频事件,主要用户统计vv数,uv数(unique view)、vv分布、人均vv,vv时长、卡顿比、完播率

触发机制: 视频拉出第一帧

上报机制:播放结束立即上报(上滑切换视频);上报失败,保存本地,客户端每次(断网等原因)重新连接服务器时,即时上报

{
 "Common":{"坏境数据"},
 "Common":{"公共数据"},
 "video_id":"1222",//视频id
 "counter":222,//播放百分比
 "play_complete":11,//完整播放次数
 "play_duration":100,//播放时长,单位毫秒
 "delay_time":2000,//表示首帧缓冲时长(一般无卡顿的视频也会有解码过程导致首帧延时)
 "buffer_time":2000,//总缓冲时长,不包括首帧缓冲时长
 "buffer_count":2,//总缓冲次数,不包括首帧缓冲次数
 "cdn_host":"1222"// cdn地址,如有不同cdn时可选,主要用户对比各cdn的流畅度
}


android apk的用户数据 安卓app用户数据是什么_android apk的用户数据_02

抖音截图