# 预置属性与系统字段
本节将会介绍 TA 的预置属性以及系统字段。预置属性指的是由 TA 生成或取得的属性,所有的预置属性以"#"开头,且都为事件属性,且这些属性的中文名以及意义都已经确定。系统字段指的是数据中的结构字段(如#account_id、#event_time等),或者数据库中具有特殊用途的字段,在分析模型中往往不会被使用,或者被间接使用。
除以下罗列的预置属性外,任何以"#"开头的属性都被视为非法字段,将无法入库,因此不建议您将自定义属性设置成以"#"开头,所有系统字段不能作为事件或用户属性,在数据接入时传入。
请注意,除了#ip之外的所有预置属性,不建议您直接使用,只有在同时使用客户端 SDK 与其他传输方式,需要让多端数据的属性一致时,才建议在 TA 工作人员的引导下进行设置。
参见:Android SDK 使用指南 、iOS SDK 使用指南 、JavaScript SDK 使用指南、Unity SDK 使用指南、Cocos2d-x SDK 使用指南、小程序\小游戏 SDK 使用指南
- 预置属性
 
| 属性名 |  中文名 |  说明 | 
|---|---|---|
| #ip |  IP 地址 |  用户的 IP 地址,TA 将以此获取用户的地理位置信息 | 
| #country |  国家地区 |  用户所在国家或地区,根据 IP 地址生成 | 
| #country_code |  国家地区代码 |  用户所在国家或地区的国家地区代码(ISO 3166-1 alpha-2,即两位大写英文字母),根据 IP 地址生成 | 
| #province |  省份 |  用户所在省份,根据 IP 地址生成 | 
| #city |  城市 |  用户所在城市,根据 IP 地址生成 | 
| #os_version |  操作系统版本 |  iOS 11.2.2、Android 8.0.0 等 | 
| #manufacturer |  设备制造商 |  用户设备的制造商,如 Apple,vivo 等 | 
| #os |  操作系统 |  如 Android、iOS 等 | 
| #device_id |  设备 ID |  用户的设备 ID,iOS 取用户的 IDFV 或 UUID,Android 取 androidID | 
| #screen_height |  屏幕高度 |  用户设备的屏幕高度,如 1920 等 | 
| #screen_width |  屏幕宽度 |  用户设备的屏幕宽度,如 1080 等 | 
| #device_model |  设备型号 |  用户设备的型号,如 iPhone 8 等 | 
| #app_version |  APP 版本 |  您的 APP 的版本 | 
| #bundle_id |  APP包名 |  APP包名或者进程名 | 
| #lib |  SDK 类型 |  您接入 SDK 的类型,如 Android,iOS 等 | 
| #lib_version |  SDK 版本 |  您接入 SDK 的版本 | 
| #network_type |  网络状态 |  上传事件时的网络状态,如 WIFI、3G、4G 等 | 
| #carrier |  网络运营商 |  用户设备的网络运营商,如中国移动,中国电信等 | 
| #browser |  浏览器类型 |  用户使用的浏览器类型,如 Chrome,Firefox 等 | 
| #browser_version |  浏览器版本 |  用户使用的浏览器的版本,如 Chrome 61.0,Firefox 57.0 等 | 
| #duration |  事件时长 |  使用计时功能记录的时长,单位是秒 | 
| #url |  页面地址 |  当前页面的地址 | 
| #url_path |  页面路径 |  当前页面的路径 | 
| #referrer |  前向地址 |  跳转前页面的地址 | 
| #referrer_host |  前向路径 |  跳转前页面的路径 | 
| #title |  页面标题 |  当前页面的标题 | 
| #screen_name |  页面名称 |  自动采集事件中使用,页面的名称 | 
| #element_id |  元素 ID |  自动采集事件中使用,控件的 ID | 
| #element_type |  元素类型 |  自动采集事件中使用,控件的类型 | 
| #resume_from_background |  是否从后台唤醒 |  自动采集事件中使用,应用是否从后台唤醒,布尔型 | 
| #element_selector |  元素选择器 |  自动采集事件中使用,控件的 viewPath | 
| #element_position |  元素位置 |  自动采集事件中使用,控件的位置信息 | 
| #element_content |  元素内容 |  自动采集事件中使用,控件上的内容 | 
| #scene |  场景值 |  微信小程序启动时传入的场景值 | 
| #mp_platform |  小程序平台 |  标识应用所在的平台 | 
| #app_crashed_reason |  异常信息 |  自动采集事件中使用,记录 APP 崩溃的堆栈信息 | 
| #zone_offset |  时区偏移 |  数据时间相对 UTC 时间的偏移小时数 | 
| #system_language |  系统语言 |  用户设备的系统语言(ISO 639-1,即两位小写英文字母),如 zh, en 等 | 
| #install_time |  程序安装时间 |  用户安装应用的时间,值来源于系统 | 
| #simulator |  是/否为模拟器 |  设备是否是模拟器 true/false | 
| #ram |  设备运行内存状态 |  用户设备的当前剩余内存和总内存,单位GB,如 1.4/2.4 | 
| #disk |  设备存储空间状态 |  用户设备的当前剩余存储空间和总存储空间,单位GB,如 30 /200  | 
| #fps |  设备FPS |  用户设备的当前图像每秒传输帧率,如 60 | 
| #backgroud_duration |  后台事件时长 |  记录两次start事件发生区间内,应用进入后台的时长,单位是秒 | 
| #start_reason |  应用启动来源 |  只有当应用被非launcher方式启动时存在该属性,如deeplink方式或者其他应用startActivity启动, 数据样例: "#start_reason":"{"url":"thinkingdata:\/\/","data":""}"  | 
- 事件表中的系统字段
 
| 字段名 |  中文名 |  说明 | 
|---|---|---|
| $part_event |  事件分区字段 |  事件分区字段,取自#event_name,即事件名 | 
| $part_date |  日期分区字段 |  日期分区字段,取自#event_time ,也就是事件发生的日期 | 
| #app_id |  app_id |  项目的 APP ID | 
| #user_id |  用户唯一 ID |  用户在系统中的唯一用户标识 | 
| #account_id |  账户 ID |  账户 ID,相当于数据中的#account_id | 
| #distinct_id |  访客 ID |  访客 ID,相当于数据中的#distinct_id | 
| #event_name |  事件名称 |  事件名称,相当于数据中的#event_name 字段 | 
| #event_time |  事件时间 |  事件时间,相当于数据中的#time 字段 | 
| #server_time |  服务端时间 |  服务端收到数据的时间 | 
- 用户表中的系统字段
 
| 字段名 |  中文名 |  说明 | 
|---|---|---|
| #user_id |  用户唯一 ID |  用户在系统中的唯一用户标识 | 
| #account_id |  账户 ID |  账户 ID,相当于数据中的#account_id | 
| #distinct_id |  访客 ID |  访客 ID,相当于数据中的#distinct_id | 
| #active_time |  激活时间 |  该用户的第一条数据(含事件和用户属性数据)入库时,该条数据#time 字段的时间 | 
| #reg_time |  注册时间 |  该用户的第一条包含账户 ID 的数据(含事件和用户属性数据)入库时,该条数据#time 字段的时间 | 
| #update_time |  更新时间 |  收到的最后一条用户数据的#time 字段的时间 | 
| #user_operation |  用户操作类型 |  收到的最后一条用户数据的操作类型(即#type 字段) | 
| #server_time |  服务端时间 |  收到的最后一条用户数据的服务器时间 | 
