menu
Is this helpful?

# 프리셋 속성

# 1. 프리셋 속성 설명

iOS, Android에서 수집할 수 있는 프리셋 속성은 다음 문서를 참고하세요.

비네이티브 플랫폼(PC, Switch 등의 터미널)의 프리셋 속성:

속성

이름

타입

설명

#ip

IP 주소

문자열

유저의 IP 주소, TA는 사용자의 지리적 위치 정보

#country

국가

문자열

유저의 국가 또는 지역은 IP 주소에 기반하여 생성됨

#country_code

국가 코드

문자열

유저의 소재 국가 또는 지역의 국가별 지역 코드(ISO 3166-1 alpha-2, 즉 2대문자 영문자)는 IP 주소에 기반하여 생성됨

#province

문자열

유저의 주, IP 주소에 기반하여 생성됨

#city

도시

문자열

유저의 도시는 IP 주소에 기반하여 생성됨

#os_version

OS 버전

문자열

iOS 11.2.2, Android 8.0.0 등

#manufacturer

디바이스 제조사

문자열

Apple 등 유저 디바이스의 제조사

#os

OS

문자열

Android, iOS 등

#device_id

디바이스 ID

문자열

유저의 디바이스 ID, iOS는 사용자의 IDFV나 UUID, Android는 AndroidID를 획득

#screen_height

스크린 높이

숫자

유저 디바이스의 스크린 높이, 예: 1920

#screen_width

스크린 길이

숫자

유저 디바이스의 스크린 길이, 예: 1080

#device_model

디바이스 모델

문자열

iPhone 8 등 사용자 디바이스의 모델

#device_type

디바이스 타입

문자열

디바이스 타입: "Tablet", "Phone" 등

#app_version

앱 버전

문자열

앱 버전

#bundle_id

앱 패키지명(유니크)

문자열

앱 패키지명 또는 프로세스명

#lib

SDK 타입

문자열

SDK의 타입: Android, iOS 등

#lib_version

SDK 버전

문자열

SDK의 버전

#network_type

네트워크 타입

문자열

데이터 전송 시의 네트워크 상태: WIFI, 4G, 5G 등

#carrier

통신사

문자열

유저 디바이스의 통신사: SK, KT, LG 등

#zone_offset

시간대

숫자

데이터 시간 UTC 시간과의 편차 시간 수

#install_time

설치 시간

시간

앱의 설치 시간

#simulator

시뮬레이터

숫자

디바이스가 시뮬레이터인지 true/false

#ram

디바이스의 ram 상태

문자열

유저 디바이스의 현재 남은 ram과 총 ram, 단위는 GB, 예: 1.4/2.4

#disk

디바이스의 스토리지 상태

문자열

유저 디바이스의 현재 남은 스토리지와 총 스토리지, 단위는 GB 예: 30/200

#fps

디바이스의 프레임레이트

숫자

디바이스의 현재 화면의 프레임레이트: 60

#system_language

시스템 언어

문자열

유저 디바이스의 시스템 언어(ISO 639-1) 예: jp, en

# 2. 프리셋 속성 획득

v2.2.0 및 그 이후 버전은 getPresetProperties()를 호출하여 프리셋 속성을 획득할 수 있습니다.

다음 방법으로 서버의 트래킹은 앱 측의 일부 프리셋 속성을 획득하고, 서버 측으로 전송할 수 있습니다.

//속성 객체 획득
TDPresetProperties presetProperties = ThinkingAnalyticsAPI.GetPresetProperties();

//모든 프리셋 속성 획득
Dictionary<string, object> eventPresetProperties = presetProperties.ToEventPresetProperties();
/*
   {
        "#carrier": "T-Mobile",
        "#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 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;//디바이스 제조사, 예: Samsung
string networkType = presetProperties.NetworkType;//네트워크 타입
string osVersion = presetProperties.OSVersion;//시스템 버전 번호
double zoneOffset = presetProperties.ZoneOffset;//타임존 오프셋 값
string appVersion = presetProperties.appVersion;//앱 버전

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>