본문으로 건너뛰기

시스템 속성

최근 업데이트 2026. 10. 03.

1. 시스템 속성 설명​

플랫폼마다 수집하는 시스템 속성에는 다소 차이가 있습니다. 자세한 내용은 다음 문서를 참고하십시오: Android 플랫폼, iOS 플랫폼

비 Native 플랫폼(PC, Switch 등의 단말)의 시스템 속성:

속성 이름한국어 이름속성 타입설명

#ip

IP 주소

텍스트유저의 IP 주소로, AE는 이를 기반으로 유저의 지리적 위치 정보를 가져옵니다
#country국가텍스트유저가 있는 국가로, IP 주소를 기반으로 생성됩니다
#country_code국가 코드

텍스트

유저가 있는 국가의 국가 코드(ISO 3166-1 alpha-2, 즉 영문 대문자 2자리)로, IP 주소를 기반으로 생성됩니다
#province성(Province)텍스트유저가 있는 성/주로, IP 주소를 기반으로 생성됩니다
#city도시텍스트유저가 있는 도시로, IP 주소를 기반으로 생성됩니다
#os_versionOS 버전텍스트예: 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네트워크 통신사텍스트유저 디바이스의 네트워크 통신사(예: China Mobile, China Telecom 등)

#zone_offset

시간대 오프셋

숫자데이터 시간과 UTC 시간의 차이(시간 단위)

#system_language

시스템 언어텍스트유저 디바이스의 시스템 언어(ISO 639-1, 즉 영문 소문자 2자리), 예: zh, en 등
#start_reason시작 사유텍스트앱을 열거나 포그라운드 페이지로 진입할 때의 시작 원인

2. 시스템 속성 가져오기​

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 카드 통신사 정보(듀얼 SIM인 경우 기본 SIM의 통신사 정보를 가져옴)
string manufacture = presetProperties.Manufacturer;//휴대폰 제조사(예: HuaWei, Apple)
string networkType = presetProperties.NetworkType;//네트워크 타입
string osVersion = presetProperties.OSVersion;//시스템 버전 번호
double zoneOffset = presetProperties.ZoneOffset;//시간대 오프셋

IP, 국가, 도시 정보는 서버 측에서 해석하여 생성하며, 클라이언트에서는 이러한 속성을 가져오는 인터페이스를 제공하지 않습니다

3. 시스템 속성 수집 비활성화​

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 속성을 입력하십시오

이 문서가 도움이 되었나요?