# 预置属性
# 一、预置属性说明
非Native平台(如PC,Switch等终端)的预置属性:
属性名 | 中文名 | 属性类型 | 说明 |
---|---|---|---|
#ip | IP 地址 | 文本 | 用户的 IP 地址,TE 将以此获取用户的地理位置信息 |
#country | 国家 | 文本 | 用户所在国家,根据 IP 地址生成 |
#country_code | 国家代码 | 文本 | 用户所在国家的国家代码(ISO 3166-1 alpha-2,即两位大写英文字母),根据 IP 地址生成 |
#province | 省份 | 文本 | 用户所在省份,根据 IP 地址生成 |
#city | 城市 | 文本 | 用户所在城市,根据 IP 地址生成 |
#os_version | 操作系统版本 | 文本 | 如windows10 |
#manufacturer | 设备制造商 | 文本 | 显卡的厂商名称 |
#os | 操作系统 | 文本 | 如 MacOS,Windows等 |
#device_id | 设备 ID | 文本 | 用户的设备 ID |
#screen_height | 屏幕高度 | 数值 | 用户设备的屏幕高度,如 1920 等 |
#screen_width | 屏幕宽度 | 数值 | 用户设备的屏幕高度,如 1080 等 |
#device_model | 设备型号 | 文本 | 用户设备的型号,如 iPhone 8 等 |
#app_version | APP 版本 | 文本 | 您的 APP 的版本 |
#bundle_id | 应用唯一标识 | 文本 | 应用包名 |
#lib | SDK 类型 | 文本 | 您接入 SDK 的类型,如 Android,iOS 等 |
#lib_version | SDK 版本 | 文本 | 您接入 SDK 的版本 |
#network_type | 网络状态 | 文本 | 上传事件时的网络状态,如 Mobile,LAN |
#carrier | 网络运营商 | 文本 | 用户设备的网络运营商,如中国移动,中国电信等 |
#zone_offset | 时区偏移 | 数值 | 数据时间相对 UTC 时间的偏移小时数 |
#system_language | 系统语言 | 文本 | 用户设备的系统语言(ISO 639-1,即两位小写英文字母),如 zh, en 等 |
# 二、获取预置属性
v2.2.0 及以后的版本可以调用 TDAnalytics.
GetPresetProperties()
方法获取预置属性。服务端埋点需要 App 端的一些预置属性时,可以通过此方法获取 App 端的预置属性,再传给服务端。
//获取属性对象
TDPresetProperties presetProperties = TDAnalytics.GetPresetProperties();
//生成事件预置属性
Dictionary<string, object> eventPresetProperties = presetProperties.ToDictionary();
/*
{
"#carrier": "中国电信",
"#os": "iOS",
"#device_id": "A8B1C00B-A6AC-4856-8538-0FBC642C1BAD",
"#screen_height": 2264,
"#bundle_id": "com.sw.thinkingdatademo",
"#app_version": "0.1",
"#manufacturer": "Apple",
"#device_model": "iPhone7",
"#screen_width": 1080,
"#system_language": "zh",
"#os_version": "10",
"#network_type": "WIFI",
"#zone_offset": 8,
"#app_version":"1.0.0"
}
*/
//获取某个预置属性
string bundleId = presetProperties.BundleId;//包名
string appVersion = presetProperties.AppVersion;//App版本号
string os = presetProperties.OS;//os类型,如Android、iOS
string systemLanguage = presetProperties.SystemLanguage;//手机系统语言类型
int screenWidth = presetProperties.ScreenWidth;//屏幕宽度
int screenHeight = presetProperties.ScreenHeight;//屏幕高度
string deviceModel = presetProperties.DeviceModel;//设备型号
string deviceId = presetProperties.DeviceId;//设备唯一标识
string carrier = presetProperties.Carrier;//手机SIM卡运营商信息,双卡双待时,取主卡的运营商信息
string manufacture = presetProperties.Manufacturer;//手机制造商 如HuaWei、Apple
string networkType = presetProperties.NetworkType;//网络类型
string osVersion = presetProperties.OSVersion;//系统版本号
double zoneOffset = presetProperties.ZoneOffset;//时区偏移值
string appVersion = presetProperties.appVersion;//App版本号
IP,国家城市信息由服务端解析生成,客户端不提供接口获取这些属性
# 三、关闭预置属性采集
在 v2.3.1 及以上版本,支持屏蔽指定预置属性的上报。通过在 Resources
目录添加 ta_public_config.xml
来配置开关,配置的字段对应的预置属性将不会上传。如下:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<!-- ThinkingAnalytics DisablePresetProperties start -->
<string-array name="TDDisPresetProperties">
<item>#disk</item>
<item>#fps</item>
<item>#ram</item>
<!-- <item>#app_version</item> -->
<!-- <item>#os_version</item> -->
<!-- <item>#manufacturer</item> -->
<!-- <item>#device_model</item> -->
<!-- <item>#screen_height</item> -->
<!-- <item>#screen_width</item> -->
<!-- <item>#carrier</item> -->
<!-- <item>#device_id</item> -->
<!-- <item>#system_language</item> -->
<!-- <item>#lib</item> -->
<!-- <item>#lib_version</item> -->
<!-- <item>#os</item> -->
<!-- <item>#bundle_id</item> -->
<!-- <item>#install_time</item> -->
<!-- <item>#start_reason</item> -->
<!-- <item>#simulator</item> -->
<!-- <item>#network_type</item> -->
<!-- <item>#start_reason</item> -->
<!-- <item>#resume_from_background</item> -->
<!-- <item>#title</item> -->
<!-- <item>#screen_name</item> -->
<!-- <item>#url</item> -->
<!-- <item>#referrer</item> -->
<!-- <item>#element_type</item> -->
<!-- <item>#element_id</item> -->
<!-- <item>#element_position</item> -->
<!-- <item>#element_content</item> -->
<!-- <item>#element_selector</item> -->
<!-- <item>#app_crashed_reason</item> -->
</string-array>
<!-- ThinkingAnalytics DisablePresetProperties end -->
</resources>
如果您屏蔽设备ID的情况下,需要使用首次事件,请务必填写first_check_id属性