跳到主要内容

预置属性

最近更新 2026/10/03

一、预置属性说明​

各个平台采集的预置属性会有一定的差异,具体可以参考如下文档: Android平台 、 iOS平台

非Native平台(如PC,Switch等终端)的预置属性:

属性名中文名属性类型说明

#ip

IP 地址

文本用户的 IP 地址,AE 将以此获取用户的地理位置信息
#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_versionAPP 版本文本您的 APP 的版本
#bundle_id应用唯一标识文本应用包名

#lib

SDK 类型文本您接入 SDK 的类型,如 Android,iOS 等
#lib_versionSDK 版本文本您接入 SDK 的版本

#network_type

网络状态文本上传事件时的网络状态,如 Mobile,LAN
#carrier网络运营商文本用户设备的网络运营商,如中国移动,中国电信等

#zone_offset

时区偏移

数值数据时间相对 UTC 时间的偏移小时数

#system_language

系统语言文本用户设备的系统语言(ISO 639-1,即两位小写英文字母),如 zh, en 等
#start_reason启动原因文本应用打开或是进入前台页面的启动原因

二、获取预置属性​

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
}
*/

//获取某个预置属性
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;//时区偏移值

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属性

这篇文档对你有帮助吗?