---
code: macos_sdk_preset_properties
name: "预置属性"
wikiToken: A9QBwbAe0iBHJZk0eWRcLnf8nzh
parentWikiToken: Zd3uwFeYfiYBPdkrRoAcOIIanFh
updateTime: 1745309845000
sourceUrl: https://docs-v2.thinkingdata.cn/?version=v5.0&lan=zh-CN&code=macos_sdk_preset_properties
---
# 预置属性

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

以下预置属性，是 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 等

#device_id

设备 ID

文本

用户的设备 ID，iOS 取用户的 IDFV 或 UUID，Android 取 androidID

#app_version

APP 版本

文本

您的 APP 的版本

#bundle_id

应用唯一标识

文本

应用包名或进程名

#lib

SDK 类型

文本

您接入 SDK 的类型，如 Android，iOS 等

#lib_version

SDK 版本

文本

您接入 SDK 的版本

#network_type

网络状态

文本

上传事件时的网络状态，如 WIFI、3G、4G 等

#zone_offset

时区偏移

数值

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

#install_time

程序安装时间

时间

用户安装应用的时间，值来源于系统

#system_language

系统语言

文本

用户设备的系统语言(ISO 639-1，即两位小写英文字母)，如 zh, en 等

#### 二、 其他预置属性

除了上述提到预置属性，还有部分预置属性需要调用对应接口才会被记录：

**属性名**

**中文名**

属性类型

**说明**

#duration

事件时长

数值

需要调用计时功能接口`timeEvent:`，记录事件发生时长，单位是秒

#background_duration

后台停留时长

数值

需要调用计时功能接口`timeEvent`，记录事件发生区间内，应用在后台的停留时长，单位是秒

#### 三、 获取预置属性

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

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

:::: el-tabs

::: el-tab-pane label=Objective-C

```
//获取属性对象
TDPresetProperties *presetProperties = [TDAnalytics getPresetProperties];

//生成事件预置属性
NSDictionary *properties = [presetProperties toEventPresetProperties];
/*
   {
        "#os": "iOS",
        "#device_id": "A8B1C00B-A6AC-4856-8538-0FBC642C1BAD",
        "#bundle_id": "com.sw.thinkingdatademo",
        "#manufacturer": "Apple",
        "#system_language": "zh",
        "#os_version": "10",
        "#network_type": "WIFI",
        "#zone_offset": 8,
        "#app_version":"1.0.0"
    }
*/

//获取某个预置属性
NSString *bundle_id = presetProperties.bundle_id;//包名
NSString *os = presetProperties.os;//os类型，如iOS
NSString *system_language = presetProperties.system_language;//手机系统语言类型
NSString *os_version = presetProperties.os_version;//系统版本号
NSNumber *zone_offset = presetProperties.zone_offset;//时区偏移
```

:::

::: el-tab-pane label=Swift

```
let presetProperties = TDAnalytics.getPresetProperties();

//生成事件预置属性
let properties = presetProperties.toEventPresetProperties();

//获取某个预置属性
let bundle_id = presetProperties.bundle_id;//包名
let os = presetProperties.os;//os类型，如iOS
let system_language = presetProperties.system_language;//手机系统语言类型
let os_version = presetProperties.os_version;//系统版本号
let zone_offset = presetProperties.zone_offset;//时区偏移值
```

:::

::::

<!-- unsupported block: 34 -->

IP，国家城市信息由服务端解析生成，客户端不提供接口获取这些属性
