跳到主要内容

预置属性

最近更新 2026/10/03

一、 所有事件带有的预置属性​

以下预置属性,是 OpenHarmony SDK 中所有事件(包括自动采集事件)都会带有的预置属性

属性名中文名属性类型采集时机说明

#ip

IP 地址

文本

服务端采集

用户的 IP 地址,AE 将以此获取用户的地理位置信息
#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、HarmonyOS 等
#device_id设备 ID文本初始化时采集一次用户的设备 ID,iOS 取用户的 IDFV 或 UUID,Android 取 androidID
#screen_height屏幕高度数值初始化时采集一次用户设备的屏幕高度,如 1920 等
#screen_width屏幕宽度数值初始化时采集一次用户设备的屏幕宽度,如 1080 等
#device_model设备型号文本初始化时采集一次用户设备的型号,如 iPhone 8 等
#device_type设备类型文本初始化时采集一次设备类型,如 "Tablet"、"Phone"
#app_versionAPP 版本文本初始化时采集一次您的 APP 的版本
#bundle_id应用唯一标识文本初始化时采集一次应用包名或进程名

#lib

SDK 类型文本

初始化时采集一次

您接入 SDK 的类型,如 Android,iOS 等
#lib_versionSDK 版本文本初始化时采集一次您接入 SDK 的版本
#network_type网络状态文本初始化时采集一次,网络状态变化时采集上传事件时的网络状态,如 WIFI、3G、4G 等

#carrier

网络运营商文本

初始化时采集一次

用户设备的网络运营商,如中国移动,中国电信等

#zone_offset

时区偏移

数值

事件发生时采集

数据时间相对 UTC 时间的偏移小时数
#install_time程序安装时间时间初始化时采集一次用户安装应用的时间,值来源于系统

#system_language

系统语言文本初始化时采集一次用户设备的系统语言(ISO 639-1,即两位小写英文字母),如 zh, en 等

二、获取预置属性​

可以调用 getPresetProperties() 方法获取预置属性。

服务端埋点需要 App 端的一些预置属性时,可以通过此方法获取 App 端的预置属性,再传给服务端。

TDAnalytics.getPresetProperties()

/**
{
"#os": "HarmonyOS",
"#os_version": 10,
"#bundle_id": "com.example.tdharmonyosdemo",
"#install_time": "2023-10-19 18:46:00.105",
"#manufacturer": "HUAWEI",
"#device_model": "NOH-AN00",
"#device_type": "phone",
"#screen_width": 1344,
"#screen_height": 2772,
"#system_language": "zh-Hans",
"#carrier": "中国电信",
"#app_version": "1.0.1",
"#device_id": "9811b90b-ee24-45c1-950a-77ee0ffc7a1c",
"#zone_offset": 8
}
*/

三、关闭预置属性​

在某些场景下,出于合规、实际业务需求等的考量,您也许期望禁止某些预置属性的采集。您可以在SDK初始化的时候配置disablePresetProperties 参数,用于配置需要禁用采集的属性数组。示例代码如下:

let config = new TDConfig()
config.appId = 'appId'
config.serverUrl = 'url'
config.disablePresetProperties =["#lib", "#lib_version", "#os", "#os_version", "#bundle_id", "#install_time", "#manufacturer", "#device_model",
"#device_type", "#screen_width", "#screen_height","#system_language","#carrier","#app_version","#device_id","#network_type","#ip"]
TDAnalytics.initWithConfig(context, config)
这篇文档对你有帮助吗?