# 프리셋 속성
# 1. 모든 이벤트에 포함되는 프리셋 속성
다음 프리셋 속성들은 iOS SDK 내에서 모든 이벤트(자동 수집 이벤트 포함)에 포함되는 프리셋 속성입니다.
속성 이름 | 이름 | 타입 | 수집 타이밍 | 설명 |
---|---|---|---|---|
#ip | IP 주소 | 문자열 | 서버 측에서 수집 | 유저의 IP 주소, TA는 유저의 지리적 위치 정보 |
#country | 국가 | 문자열 | 서버 측에서 수집 | 유저의 국가 또는 지역은, IP 주소에 기반하여 생성 |
#country_code | 국가 코드 | 문자열 | 서버 측에서 수집 | 유저가 위치한 국가 또는 지역의 국가별 지역 코드(ISO 3166-1 alpha-2, 즉 2개의 대문자 영문)는, IP 주소에 기반하여 생성 |
#province | 주 | 문자열 | 서버 측에서 수집 | 유저의 주, IP 주소에 기반하여 생성 |
#city | 도시 | 문자열 | 서버 측에서 수집 | 유저의 도시는, IP 주소에 기반하여 생성 |
#os_version | OS 버전 | 문자열 | 초기화 시 1회 수집 | iOS 11.2.2, Android 8.0.0 등 |
#manufacturer | 디바이스 제조사 | 문자열 | 초기화 시 1회 수집 | Apple 등의 유저 디바이스의 제조사 |
#os | OS | 문자열 | 초기화 시 1회 수집 | Android、iOS 등 |
#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 | 앱 버전 | 문자열 | 초기화 시 1회 수집 | 앱 버전 |
#bundle_id | 앱 패키지명(유니크) | 문자열 | 초기화 시 1회 수집 | 앱 패키지명 또는 프로세스명 |
#lib | SDK 타입 | 문자열 | 초기화 시 1회 수집 | SDK 타입: Android, iOS 등 |
#lib_version | SDK 버전 | 문자열 | 초기화 시 1회 수집 | SDK 버전 |
#network_type | 네트워크 타입 | 문자열 | 초기화 시 1회 수집하고, 네트워크 상태 변경 시 수집 | 데이터 전송 시의 네트워크 상태: WIFI, 4G, 5G 등 |
#carrier | 통신사 | 문자열 | 초기화 시 1회 수집 | 유저 디바이스의 통신사: SK, KT, LG 등 |
#zone_offset | 시간대 | 숫자 | 이벤트 발생 시 수집 | 데이터 시간 UTC 시간과의 차이 시간 수 |
#install_time | 설치 시간 | 시간 | 초기화 시 1회 수집 | 앱의 설치 시간 |
#simulator | 시뮬레이터 | 숫자 | 초기화 시 1회 수집 | 디바이스가 시뮬레이터인지 true/false |
#ram | 디바이스의 ram 상태 | 문자열 | 이벤트 발생 시 수집 | 유저 디바이스의 현재 남은 ram과 총 ram, 단위는 GB, 예: 1.4/2.4 |
#disk | 디바이스의 스토리지 상태 | 문자열 | 이벤트 발생 시 수집 | 유저 디바이스의 현재 남은 스토리지와 총 스토리지, 단위는 GB 예: 30/200 |
#fps | 디바이스의 프레임레이트 | 숫자 | 이벤트 발생 시 수집 | 유저 디바이스의 현재 화면의 프레임레이트: 60 |
#system_language | 시스템 언어 | 문자열 | 초기화 시 1회 수집 | 유저 디바이스의 시스템 언어(ISO 639-1) 예: kr, en 등 |
# 2. 자동 수집 이벤트의 프리셋 속성
다음 프리셋 속성들은 자동 수집 이벤트에서 특유의 프리셋 속성입니다.
- 앱 시작 이벤트(ta_app_start)의 프리셋 속성
속성 이름 | 이름 | 타입 | 설명 |
---|---|---|---|
#resume_from_background | 백그라운드에서 재시작 여부 | 문자열 | APP의 시작이 직접 시작인지, 백그라운드에서 재시작인지. true는 백그라운드에서 재시작이고, false는 직접 시작입니다. |
#start_reason | 애플리케이션의 시작 원인 | 문자열 | JSON 문자열입니다. 앱이 URL 또는 Intent를 사용하여 열릴 경우, URL의 내용과 Intent의 데이터를 자동으로 기록합니다. 예: {url:"thinkingdata://", "data":{}} |
#background_duration | 백그라운드 체류 시간 | 숫자 | start 이벤트가 2회 발생한 간격 동안 앱이 백그라운드에 있던 시간, 단위: 초 |
속성 이름 | 이름 | 타입 | 정의 |
---|---|---|---|
#duration | 이벤트 시간 경과 | 숫자 | APP 스타트 시간부터의 시간 경과(스타트부터 클로즈), 단위는 Second response |
속성 이름 | 이름 | 타입 | 설명 |
---|---|---|---|
#title | 페이지 제목 | 문자열 | view가 속한 Activity의 제목으로, Activity의 title 속성으로 값이 부여됩니다. |
#screen_name | 페이지 이름 | 문자열 | view가 속한 Activity의 패키지명, 카테고리명 |
#url | 페이지 URL | 문자열 | 현재 페이지의 URL, getScreenUrl을 호출하여 URL 설정이 필요합니다. |
#referrer | 리퍼러 | 문자열 | 이 페이지로 이동하기 전의 URL로, getScreenUrl을 호출하여 설정이 필요합니다. |
속성 이름 | 이름 | 타입 | 설명 |
---|---|---|---|
#title | 페이지 제목 | 문자열 | view가 속한 Activity의 제목으로, Activity의 title 속성으로 값이 부여됩니다. |
#screen_name | 페이지 명 | 문자열 | view가 속한 Activity의 패키지명, 카테고리명 |
#element_id | 이벤트 이름 ID | 문자열 | view의 ID, 기본적으로 android:id를 사용하며, setViewID를 호출하여 설정 가능합니다. |
#element_type | 요소 타입 | 문자열 | view의 타입 |
#element_selector | 요소 선택자 | 문자열 | view의 viewPath의 스플라이싱 |
#element_position | 요소 위치 | 문자열 | view의 위치 정보, view에 position 속성이 있을 때 전송됩니다. |
#element_content | 요소 내용 | 문자열 | view 위의 내용 |
속성 이름 | 이름 | 타입 | 설명 |
---|---|---|---|
#app_crashed_reason | 이상 정보 | 문자열 | 크래시 발생 시의 스택 트레이스가 기록됩니다. |
# 3. 기타 프리셋 속성
위에서 언급된 프리셋 속성 외에, 호출 후 기록되는 프리셋 속성:
속성 이름 | 이름 | 타입 | 설명 |
---|---|---|---|
#duration | 경과 시간 | 숫자 | timeEvent 함수를 호출하여, 이벤트의 경과 시간을 기록합니다. 단위는 초 |
#background_duration | 백그라운드 경과 시간 | 숫자 | timeEvent 함수를 호출하여, 이벤트의 경과 시간을 기록합니다. 단위는 초 |
# 4. 프리셋 속성 획득
v2.7.0 및 그 이후 버전에서는 getPresetProperties()
를 호출하여 프리셋 속성을 가져올 수 있습니다. 다음 방법으로 서버 트래킹은 앱 측의 일부 프리셋 속성을 가져와 서버 측으로 전송할 수 있습니다.
IP 주소, 국가 및 도시 정보는 서버 측에서 분석하여 생성되며, 클라이언트 측 호출로 제공되지 않습니다.
# 프리셋 속성 수집 금지
특정 상황에서 프리셋 속성 수집을 금지할 수 있습니다. 프로젝트 내의 info.plist 파일에 TDDisPresetProperties 필드(데이터 타입 Array)를 추가함으로써, 해당 프리셋 속성은 전송되지 않습니다.
예를 들어, "#fps", "#ram", "#disk", "#start_reason", "#simulator"을 수집 금지하고자 한다면, 아래와 같이 설정하십시오.