integrationlatest데이터 연동 / 시스템 속성
시스템 속성
1. 모든 이벤트에 포함되는 시스템 속성
다음 시스템 속성은 OpenHarmony SDK의 모든 이벤트(자동 수집 이벤트 포함)에 포함되는 시스템 속성입니다
| 속성 이름 | 한국어 이름 | 속성 타입 | 수집 시점 | 설명 |
|---|---|---|---|---|
#ip | IP 주소 | 텍스트 | 서버 측 수집 | 유저의 IP 주소로, AE는 이를 기반으로 유저의 지리적 위치 정보를 가져옵니다 |
| #country | 국가 | 텍스트 | 서버 측 수집 | 유저가 있는 국가로, IP 주소를 기반으로 생성됩니다 |
#country_code | 국가 코드 | 텍스트 | 서버 측 수집 | 유저가 있는 국가의 국가 코드(ISO 3166-1 alpha-2, 즉 영문 대문자 2자리)로, IP 주소를 기반으로 생성됩니다 |
| #province | 성(Province) | 텍스트 | 서버 측 수집 | 유저가 있는 성/주로, IP 주소를 기반으로 생성됩니다 |
| #city | 도시 | 텍스트 | 서버 측 수집 | 유저가 있는 도시로, IP 주소를 기반으로 생성됩니다 |
| #os_version | OS 버전 | 텍스트 | 초기화 시 1회 수집 | iOS 11.2.2, Android 8.0.0 등 |
#manufacturer | 디바이스 제조사 | 텍스트 | 초기화 시 1회 수집 | 유저 디바이스의 제조사(예: Apple, vivo 등) |
| #os | 운영 체제 | 텍스트 | 초기화 시 1회 수집 | 예: Android, iOS, HarmonyOS 등 |
| #device_id | 디바이스 ID | 텍스트 | 초기화 시 1회 수집 | 유저의 디바이스 ID. iOS는 유저의 IDFV 또는 UUID, Android는 androidID를 사용 |
| #screen_height | 화면 높이 | 숫자 | 초기화 시 1회 수집 | 유저 디바이스의 화면 높이(예: 1920 등) |
| #screen_width | 화면 너비 | 숫자 | 초기화 시 1회 수집 | 유저 디바이스의 화면 너비(예: 1080 등) |
| #device_model | 디바이스 모델 | 텍스트 | 초기화 시 1회 수집 | 유저 디바이스의 모델(예: iPhone 8 등) |
| #device_type | 디바이스 타입 | 텍스트 | 초기화 시 1회 수집 | 디바이스 타입(예: "Tablet", "Phone") |
| #app_version | APP 버전 | 텍스트 | 초기화 시 1회 수집 | APP의 버전 |
| #bundle_id | 앱 고유 식별자 | 텍스트 | 초기화 시 1회 수집 | 앱 패키지명 또는 프로세스명 |
#lib | SDK 타입 | 텍스트 | 초기화 시 1회 수집 | 연동한 SDK의 타입(예: Android, iOS 등) |
| #lib_version | SDK 버전 | 텍스트 | 초기화 시 1회 수집 | 연동한 SDK의 버전 |
| #network_type | 네트워크 상태 | 텍스트 | 초기화 시 1회 수집, 네트워크 상태 변경 시 수집 | 이벤트를 업로드할 때의 네트워크 상태(예: WIFI, 3G, 4G 등) |
#carrier | 네트워크 통신사 | 텍스트 | 초기화 시 1회 수집 | 유저 디바이스의 네트워크 통신사(예: China Mobile, China Telecom 등) |
#zone_offset | 시간대 오프셋 | 숫자 | 이벤트 발생 시 수집 | 데이터 시간과 UTC 시간의 차이(시간 단위) |
| #install_time | 앱 설치 시간 | 시간 | 초기화 시 1회 수집 | 유저가 앱을 설치한 시간으로, 값은 시스템에서 가져옵니다 |
#system_language | 시스템 언어 | 텍스트 | 초기화 시 1회 수집 | 유저 디바이스의 시스템 언어(ISO 639-1, 즉 영문 소문자 2자리), 예: zh, en 등 |
2. 시스템 속성 가져오기
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
}
*/
3. 시스템 속성 수집 비활성화
일부 시나리오에서는 규정 준수, 실제 비즈니스 요구 등을 고려하여 특정 시스템 속성의 수집을 금지해야 할 수 있습니다. 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)
이 문서가 도움이 되었나요?

