UT
- UT是什么
UserTrack是集团内部采集并上报App日志的sdk,适用于native原生页面、webview相关业务。
- UT做什么
- 采集设备信息(设备、运营商......)
- 采集APP信息(应用、版本、渠道......)
- 采集用户行为(会员、登陆、注册、页面浏览、控件点击......)
- UT怎么做
各客户端在开发过程中集成UT SDK UserTrack SDK目前提供iOS、Android、mini平台版本 6.0 版本:合并了业务埋点&性能埋点,包大小缩小17%,线程数减少60%...... 提供几类事件API,给客户端开发调用,实现埋点 页面进入、控件点击、控件展示、分享......
UT框架
UT事件
EventID | 用途 | 是否需要埋点语句 | page | arg1 | arg2 | arg3 | args | 备注 |
---|---|---|---|---|---|---|---|---|
1 | 未捕获异常 | 否 | UT | 异常的md5 | 异常名称 | - | 异常信息 | 猫客关掉了UT的异常捕获 |
1001 | 应用安装成功 | 猫客未使用 | ||||||
1002 | 应用第一次启动 | Page_UsertrackInit | binTime,serialNo,dep | 数据较少 | ||||
1003 | 应用启动 | 猫客未使用 | ||||||
1004 | 应用退出 | 猫客未使用 | ||||||
1005 | 地理位置 | 猫客未使用 | ||||||
1006 | 用户注册 | 是 | UT | nickname | - | - | - | - |
1007 | 用户登录 | 是 | UT | nickname | unknown | - | - | 猫客登录时会发送两次 |
1008 | 用户登出 | 猫客未使用 | ||||||
1009 | 应用从后台切换到前台 | 否 | Page_UsertrackInit | dep | 数据较少 | |||
1010 | 应用从前台切换到后台 | 否 | 当前页面 | 本次在前台运行的总时间 | - | - | _as | - |
2001 | 页面离开 | 是 | 当前页面 | 上一个页面 | - | 停留时长 | - | - |
2101 | 控件点击 | 是 | 当前页面 | 控件名 | - | - | 业务参数 | - |
2201 | 曝光事件 | 是 | 当前页面 | 控件名 | - | 无(或曝光时长) | 业务参数 | ViewTrackerSDK支持的曝光事件arg3为时长,args中exposureIndex为曝光次数 |
2202 | 资源币曝光 | 是 | 当前页面 | 控件名 | unknown | unknown | unknown | - |
5002 | 分享 | 是 | Page_share | bizName | 分享途径 | 分享链接 | - | - |
5004 | 回流 | 是 | Page_Extend | url(tmall://) | - | - | - | - |
9001 | 钻展 | 是 | Page_Extend | - | - | - | 业务参数 | - |
9001 | 钻展 | 是 | Page_Extend | - | - | - | 业务参数 | - |
19999 | 自定义事件 | 是 | UT | 注册事件名 | unknown | unknown | unknown | - |
UT日志格式介绍
Field | Type | Comment |
---|---|---|
app_id | string | 以app_key @ os的形式存在,如果os为安卓系统,则表示为:app_key@android, 如果os为ios,device_model=‘iPad’,则表示为:app_key@ipad,如果os为ios,device_model<>‘iPad’,则表示为:app_key@iphoneos,如果os为WindowsPhone,则表示为:app_key@wp,如果os为aliyunos,则表示为:app_key@aliyunos |
app_name | string | app_id对应的app中文名称 |
app_version | string | app的应用版本号 |
sdk_version | string | usertrack sdk的版本号 |
channel | string | app对应的渠道号,映射表为wireless_wdm.wdm_dim_channel |
channel_name | string | channel对应的渠道名称 |
imei | string | 移动设备国际身份码的缩写 |
imsi | string | 国际移动用户识别码(IMSI:International Mobile SubscriberIdentificationNumber)是区别移动用户的标志,储存在SIM卡中 |
reserves_id | string | 预留备用id,对应老日志表中的device_id |
uvmid | string | 经过不同的设备信息,计算出来设备唯一id,下游用户可直接根据此字段作为设备id来进行计算,此字段对应老日志表的imeisi列 |
long_login_nick | string | 长登录nick |
taobao_user_id | bigint | 长登录user_id(主要指淘宝账号体系的user_id),通过long_login_nick和用户表关联 |
account_id | string | 长登录user_id(包含非淘宝账号体系,例如快的) |
is_short_logon | string | 是否主动登陆(短登陆),1:是,0:否,此字段结合long_login_nick字段,可以还原出短登陆id |
brand | string | 手机或终端的品牌 |
device_model | string | 手机或终端的机型 |
resolution | string | 手机或终端的屏幕分辨率 |
os | string | 操作系统,如: Android、iPhone OS |
os_version | string | 操作系统的版本 |
carrier | string | 移动运营商,如:中国移动、中国联通、中国电信 |
access | string | 连接的网络,如:2G、3G、Wi-Fi |
access_subtype | string | 网络类型,如:HSPA、EVDO、EDGE、GPRS等 |
network_type | string | 根据access,acess_subtype转化后的网络类型,例如3G,4G,Wi-Fi等 |
client_ip | string | 客户端ip |
session_id | string | 用户的一次会话id |
utdid | string | usertrack device_id,由SDK生成的设备标识 |
reserve3 | string | 预留字段 |
reserve4 | string | 预留字段 |
reserve5 | string | 预留字段 |
reserves | string | 预留字段 |
reach_time | string | 到达日志服务器的时间,此时间可作为日志时间直接使用,格式为:yyyyMMddHHmmss |
page | string | 页面 |
event_id | string | 埋点的事件ID,可参考:http://wdm.alibaba-inc.com/platform.htm?spm=0.0.0.0.MRRTbI&site=wdm-support&pagePath=eventid |
arg1 | string | 事件参数,对于2001事件,值为上一页面名称,对于2101事件,值为控件名称,其余参考http://wdm.alibaba-inc.com/platform.htm?spm=0.0.0.0.MRRTbI&site=wdm-support&pagePath=eventid |
arg2 | string | 事件参数 |
arg3 | string | 事件参数 |
args | string | 事件参数 |
is_active | bigint | 是否活跃用户,1:是;0:否。可以用判断条件 is_active=1 来判断活跃用户。注:本字段仅为行级标志 |
auction_id | bigint | 通过args解析出来的商品id |
start_count | bigint | 根据event_id=1010解析而出,1:启动次数;0:非启动次数。后续计算启动次数直接sum此字段即可 |
run_time | double | 根据event_id=1010解析而出,单位:秒。如果为非时长,记为0。后续计算使用时长直接sum此字段即可 |
country | string | 根据client_ip解析出的国家或地区,如:中国、香港、台湾、美国 |
province | string | 根据client_ip解析出的省、直辖市、自治区,如:浙江省、西藏自治区、上海市 |
city | string | 根据client_ip解析出的地级市,如:武汉市、杭州市 |
district | string | 根据client_ip解析出的区、县、县级市,如:西湖区、义乌市、桐庐县 |
school | string | 根据client_ip如果为校园网解析出的学校,如:浙江大学、中国传媒大学 |
active_uvmid | string | 计算活跃用户时,直接count(distinct active_uvmid)此字段即可 |
active_user_nick | string | 计算活跃会员时,直接count(distinct active_user_nick)即可 |
register_content | string | 计算注册用户直接取此字段,条件限制非空 |
page_stay_time | double | 页面停留时长,单位为秒 |
local_time | string | 终端时间(格式为yyyy-mm-dd hh24:mi:ss) |
local_timestamp | string | 终端时间(格式为数字型的unix 时间,精确到毫秒,可通过from_unixtime函数转换成日期) |
protocol_version | string | sdk协议版本 |
sdk_type | string | sdk类型 |
search_keyword | string | 搜索关键字,根据args里面search_keyword=关键字解析出来 |
seller_id | string | 卖家id,根据args里面seller_id=解析出来 |
shop_id | bigint | 店铺id,根据args里面shop_id=解析出来 |
favorite_type | string | 喜爱类型,根据args里面favorite_type=解析出来 |
order_id | bigint | 订单id,根据args里面order_id=解析出来 |
longitude | double | 经度,根据event_id=1005,args里面longitude=解析出来 |
latitude | double | 纬度,根据event_id=1005,latitude=解析出来 |
idfa | string | ios的广告标识符 |
aid | string | 已经废弃,为空 |
hour | string | 小时 |
ds | string | 日期分区,格式为yyyymmdd |
product | string | taobao:手机淘宝的app; tmall:天猫的app; jhs:聚划算的app; others:不在上面几个分区里面的app,都记入入此分区。 |
event_type | string | page:页面事件,对应event_id in(2001,2002); cntrl:控件事件,对应event_id 2101-2200(不包含2105); self_define:自定义事件,对应event_id=19999; crash:crash事件,对应event_id=1; others:不在上面分区里面的事件都记入此分区。 |
完整格式(一条记录): version || imei || imsi ||brand ||cpu||device_id || device_model || resolution || carrier || access || access_subtype || channel || app_key || app_version || Long-Login Usernick || usernick || phone_number || country || language || os || os_version || sdk_type || sdk_version ||sessionID ||UTDID ||reserve3 ||reserve4 ||reserve5 ||reserves|| recordDate || timestamp || page || eventid || arg1 || arg2 || arg3 || args
以上,记录格式分为两个部分,会话信息和业务信息。
会话信息: 相对稳定不变的信息。
基本的设备信息,如操作系统、操作系统版本、imei、imsi(或者ios的idfa)、cpu、分辨率、网络制式、运营商等;
用户基本信息,如登陆昵称;
应用基本信息,如app_key,app_version,渠道channel等。
业务信息: 业务相关的信息
UserTrack会为每种业务事件分配一个事件ID(event_id),通过event_id来区分每条日志的业务含义,例如常见的页面事件(event_id=2001)、控件事件(event_id=2101)等。开发人员可以根据不同的业务场景调用不同的API埋点,为不同的业务事件提供不同的业务参数。