menu
Is this helpful?

# 预置属性

# 一、预置属性说明

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

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

属性名 中文名

属性类型

说明
#ip IP 地址

文本

用户的 IP 地址,TA 将以此获取用户的地理位置信息
#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属性