integrationlatest데이터 연동 / 시스템 속성
시스템 속성
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_version | OS 버전 | 텍스트 | 예: 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 | 네트워크 통신사 | 텍스트 | 유저 디바이스의 네트워크 통신사(예: 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 속성을 입력하십시오
이 문서가 도움이 되었나요?

