Unity 애널리틱스 원시 데이터 익스포트를 사용해 원시 이벤트 데이터에 완전하게 액세스할 수 있습니다. 이를 통해, 커스텀 쿼리 또는 데이터 시각화를 구성하는 등 데이터를 원하는 방법으로 사용할 수 있습니다.
다음 두 가지 방법으로 원시 데이터 익스포트에 액세스할 수 있습니다.
원시 데이터 익스포트는 2016년 6월 이후로 데이터를 제공합니다.
Unity 애널리틱스 대시보드를 사용하면 코드를 작성하지 않고도 원시 이벤트 데이터를 익스포트하고 액세스할 수 있습니다. Unity 애널리틱스 대시보드(analytics.cloud.unity3d.com)에서 프로젝트를 선택하고 Analytics > Raw Data Export 로 이동해야 합니다.
다음, 해당 화면의 Export 섹션에서 다음 절차를
원시 데이터 익스포트에서는 자동으로 작업을 만들고 화면의 Activity 테이블에 표시합니다.
작업이 완료된 후에는 Download 열에서 파일을 선택하여 데이터를 다운로드할 수 있습니다.
Unity 애널리틱스로 전송되는 모든 데이터 포인트는 Unity의 데이터 저장소에 저장됩니다. Raw Data Export API를 사용하면 원시 이벤트 데이터가 수신 및 저장될 때 원시 이벤트 데이터를 파일에 다운로드할 수 있습니다.
모든 요청에는 Unity 프로젝트 ID(UPID)와 API 키를 사용한 HTTP 기본 인증이 요구됩니다.
startDate
부터 endDate
까지)은 31일로 제한됩니다.원시 데이터를 익스포트하려면 Create Raw Data Export API를 호출합니다. 이 요청에 따라 데이터를 처리하는 비동기 작업이 트리거됩니다. 작업 소요 시간은 익스포트하는 데이터 양에 따라 다릅니다.
현재 상태 또는 결과를 얻으려면 Get Raw Data Export API를 사용하여 폴링합니다. 익스포트 완료 후 이 API의 리스폰스에서 결과를 얻을 수 있습니다. 결과에는 파일 리스트와 해당 다운로드 URL이 포함됩니다. URL을 모두 여러 번 살펴보고 익스포트된 데이터를 다운로드할 수 있습니다.
참고:
원시 데이터 익스포트는 프로젝트 하나와 데이터 집합 하나(이벤트 타입)로 한정됩니다. 요청 기간은 31일로 제한됩니다.
다음 HTTP 메서드를 사용하여 원시 데이터 익스포트를 만들어야 합니다.
POST api/v2/projects/{UNITY_PROJECT_ID}/rawdataexports
인수는 요청 페이로드에서 제공되고, JSON 포맷 및 application/json 콘텐츠 타입입니다.
요청 인수 | 필수 또는 선택 | 타입 | 설명 |
---|---|---|---|
startDate | continueFrom이 지정된 경우를 제외하고 필수 | 문자열 | 익스포트의 시작 날짜(포함)입니다. 날짜는 YYYY-MM-DD 포맷(ISO–8601)으로 표시됩니다. |
endDate | 필수 | String | 익스포트 종료 날짜(포함)입니다. 날짜는 YYYY-MM-DD 포맷(ISO 8601)으로 표시됩니다. 이 날짜는 쿼리를 종료할 날짜입니다. 현재 날짜를 검색하는 경우 익일 날짜를 사용해야 합니다. |
format | 필수 | String | 출력 데이터 포맷: json(줄로 구분된 json) 또는 tsv. |
dataset | 필수 | String | appStart, appRunning, deviceInfo, custom, transaction 이벤트 타입 중 하나입니다. |
continueFrom | 선택 | String | 데이터 익스포트 재개를 위한 원시 데이터 익스포트 ID입니다. 이전 익스포트를 종료한 지점에서 익스포트를 재개하기 위해 사용합니다. 자세한 내용은 재개를 참조하십시오. startDate를 지정하지 않고 continueFrom에서 이전 원시 데이터 익스포트 ID를 대신 지정할 수 있습니다. continueFrom과 startDate를 모두 지정하면 오류가 발생합니다. |
커맨드 라인에서 cURL을 사용하는 요청의 템플릿:
curl --user {UNITY_PROJECT_ID}:{API_KEY} --request POST --header "Content-Type: application/json" --data {REQUEST_JSON}
https://analytics.cloud.unity3d.com/api/v2/projects/{UNITY_PROJECT_ID}/rawdataexports
예시 값:
UNITY_PROJECT_ID = aa43ae0a-a7a7-4016-ae96-e253bb126aa8
API_KEY = 166291ff148b2878375a8e54aebb1549
REQUEST_JSON = { "startDate": "2016-05-15" , "endDate": "2016-05-16", "format": "tsv", "dataset": "appStart" }
예시 값을 사용한 실제 요청:
curl --user aa43ae0a-a7a7-4016-ae96-e253bb126aa8:166291ff148b2878375a8e54aebb1549 --request POST --header "Content-Type: application/json" --data '{ "startDate": "2016-05-15" , "endDate": "2016-05-16", "format": "tsv", "dataset": "appStart" }' https://analytics.cloud.unity3d.com/api/v2/projects/aa43ae0a-a7a7-4016-ae96-e253bb126aa8/rawdataexports
리스폰스에는 JSON 포맷의 공통 원시 데이터 익스포트 리스폰스 속성이 사용됩니다.
리스폰스 속성 | 타입 | 설명 |
---|---|---|
id | String | 원시 데이터 익스포트 ID |
upid | String | Unity 프로젝트 ID |
createdAt | String | ISO 8601 포맷으로 표시한 만든 시간 |
status | 문자열 | 익스포트의 현재 상태입니다. 가능한 값은 running, completed, 또는 failed입니다. |
duration | Long | 데이터 익스포트에 소요된 시간(밀리초 단위) |
request | Json | 요청 인수 |
result | Json | 결과에는 익스포트된 데이터를 상술하는 속성이 포함됩니다. 익스포트가 성공적으로 완료된 후에만 결과를 사용할 수 있습니다. 결과 속성은 아래를 참조하십시오. |
result.size | Long | 익스포트된 전체 데이터 크기(바이트 단위) |
result.eventCount | Long | 익스포트된 총 이벤트 수 |
result.intraDay | 부울 | 요청에 현재 날짜가 포함된 경우 해당 날짜의 일부 데이터가 요청에 포함되지 않을 수 있습니다. 마지막 날 데이터가 불완전한 경우 이 속성은 TRUE입니다. |
result.fileList | Json | 익스포트된 데이터가 포함된 파일을 나열한 리스트입니다. 데이터가 없으면 빈 파일 리스트가 표시됩니다. |
result.fileList.name | String | 파일 이름 |
result.fileList.url | String | 파일 다운로드 URL입니다. 파일은 gzip 포맷으로 압축됩니다. |
result.fileList.size | Long | 파일 크기(바이트 단위) |
result.fileList.date | String | 파일에는 이 특정 날짜의 이벤트가 포함됩니다. 이 날짜는 이벤트 제출 시간 기준입니다. 날짜가 같은 파일이 2개 이상 있을 수 있습니다. 날짜는 ISO 8601 포맷입니다. |
리스폰스 예제:
{
"id":"8228d1e9-31b3-4a5e-aabe-55d9c8afa052",
"upid":"beff3f49-b9ed-41a4-91ea-677e9b85e71e",
"createdAt":"2016-05-10T10:10:10.100+0000",
"status":"running",
"duration" : 0,
"request":{
"startDate":"2016-05-01",
"endDate":"2016-05-02",
"format":"json",
"dataset":"appRunning"
}
}
정기 원시 데이터 익스포트를 실행하는 경우 이전 원시 데이터 익스포트가 중단된 시점부터 익스포트가 계속되도록 startDate 대신 continueFrom 인수를 제공해야 합니다. 이전 원시 데이터 익스포트 ID는 GET API를 통해 페치하거나 대시보드를 통해 액세스할 수 있습니다.
특정 원시 데이터 익스포트나 진행 중인 익스포트 상태를 가져오려면 다음 HTTP 메서드를 사용해야 합니다.
GET api/v2/projects/{UNITY_PROJECT_ID}/rawdataexports/{raw_data_export_id}
모든 필수 인수는 URL 경로의 일부입니다.
요청 예제:
curl --user {UNITY_PROJECT_ID}:${API_KEY} https://analytics.cloud.unity3d.com/api/v2/projects/{UNITY_PROJECT_ID}/rawdataexports/${ID}
리스폰스는 JSON 포맷으로 된 원시 데이터 익스포트입니다. 원시 데이터 익스포트 만들기의 리스폰스와 동일합니다.
리스폰스 예제:
{
"id":"6601f70e-6a0b-48ed-909f-26711af82b49",
"status":"completed",
"createdAt":"2016-05-21T04:41:54.000+0000",
"duration":8631714000,
"request":{
"startDate":"2016-02-11T00:00:00.000+0000",
"endDate":"2016-03-11T00:00:00.000+0000",
"format":"tsv",
"dataset":"custom"
},
"result":{
"size":78355,
"eventCount":17473,
"fileList":[
{
"name":"headers.gz",
"url":"https://uca-export.s3.amazonaws.com/staging/devTest/custom/appid%3DUNITY_PROJECT_ID/jid%3D6601f70e-6a0b-48ed-909f-26711af82b49/headers.gz?AWSAccessKeyId=AKIAJUXGNF66F4XPWSWA&Expires=1463872651&Signature=PnzIeeI%2FNxSOlKkLVpLcfK%2FxVpU%3D",
"size":105
},
{
"name":"part-4b0cf376-3478-4bc8-845e-f73aff5c0be4.gz",
"url":"https://uca-export.s3.amazonaws.com/staging/devTest/custom/appid%3DUNITY_PROJECT_ID/jid%3D6601f70e-6a0b-48ed-909f-26711af82b49/part-4b0cf376-3478-4bc8-845e-f73aff5c0be4.gz?AWSAccessKeyId=AKIAJUXGNF66F4XPWSWA&Expires=1463872651&Signature=xZk3%2BzQNTQ6yjK2Mh%2FaH338ABn8%3D",
"size":78250,
"date":"2016-02-13T00:00:00.000+0000"
}
],
"intraDay":false
}
}
특정 프로젝트의 모든 원시 데이터 익스포트 리스트를 얻으려면 다음 HTTP 메서드를 사용합니다.
GET api/v2/projects/{UNITY_PROJECT_ID}/rawdataexports
모든 필수 인수는 URL 경로의 일부입니다.
요청 예제:
curl --user {UNITY_PROJECT_ID}:${API_KEY} https://analytics.cloud.unity3d.com/api/v2/projects/${UNITY_PROJECT_ID}/rawdataexports/
리스폰스는 JSON 포맷으로 된 원시 데이터 익스포트 리스트입니다. 각 익스포트 리스트 요소의 정의는 원시 데이터 익스포트 리스폰스 속성을 참조하십시오.
리스폰스 예제:
[
{
"id":"6601f70e-6a0b-48ed-909f-26711af82b49",
"status":"completed",
"createdAt":"2016-05-21T04:41:54.000+0000",
"duration":8631714000,
"request":{
"startDate":"2016-02-11T00:00:00.000+0000",
"endDate":"2016-03-11T00:00:00.000+0000",
"format":"tsv",
"dataset":"custom"
},
"result":{
"size":78355,
"eventCount":17473,
"fileList":[
{
"name":"headers.gz",
"url":"https://uca-export.s3.amazonaws.com/staging/devTest/custom/appid%3DUNITY_PROJECT_ID/jid%3D6601f70e-6a0b-48ed-909f-26711af82b49/headers.gz?AWSAccessKeyId=AKIAJUXGNF66F4XPWSWA&Expires=1463872651&Signature=PnzIeeI%2FNxSOlKkLVpLcfK%2FxVpU%3D",
"size":105
},
{
"name":"part-4b0cf376-3478-4bc8-845e-f73aff5c0be4.gz",
"url":"https://uca-export.s3.amazonaws.com/staging/devTest/custom/appid%3DUNITY_PROJECT_ID/jid%3D6601f70e-6a0b-48ed-909f-26711af82b49/part-4b0cf376-3478-4bc8-845e-f73aff5c0be4.gz?AWSAccessKeyId=AKIAJUXGNF66F4XPWSWA&Expires=1463872651&Signature=xZk3%2BzQNTQ6yjK2Mh%2FaH338ABn8%3D",
"size":78250,
"date":"2016-02-13T00:00:00.000+0000"
}
],
"intraDay":false
}
},
{
"id":"6601f70e-6a0b-48ed-909f-26711af82b48",
"status":"completed",
"createdAt":"2016-05-21T04:41:54.000+0000",
"duration":8631714000,
"request":{
"startDate":"2016-02-11T00:00:00.000+0000",
"endDate":"2016-03-11T00:00:00.000+0000",
"format":"tsv",
"dataset":"custom"
},
"result":{
"size":78355,
"eventCount":17473,
"fileList":[
{
"name":"headers.gz",
"url":"https://uca-export.s3.amazonaws.com/staging/devTest/custom/appid%3DUNITY_PROJECT_ID/jid%3D6601f70e-6a0b-48ed-909f-26711af82b48/headers.gz?AWSAccessKeyId=AKIAJUXGNF66F4XPWSWA&Expires=1463872651&Signature=PnzIeeI%2FNxSOlKkLVpLcfK%2FxVpU%3D",
"size":105
},
{
"name":"part-4b0cf376-3478-4bc8-845e-f73aff5c0be4.gz",
"url":"https://uca-export.s3.amazonaws.com/staging/devTest/custom/appid%3DUNITY_PROJECT_ID/jid%3D6601f70e-6a0b-48ed-909f-26711af82b48/part-4b0cf376-3478-4bc8-845e-f73aff5c0be4.gz?AWSAccessKeyId=AKIAJUXGNF66F4XPWSWA&Expires=1463872651&Signature=xZk3%2BzQNTQ6yjK2Mh%2FaH338ABn8%3D",
"size":78250,
"date":"2016-02-13T00:00:00.000+0000"
}
],
"intraDay":false
}
}
]
TSV 포맷으로 익스포트하는 옵션을 선택하면 헤더가 headers.gz 라는 별도의 파일에 포함되어 제공됩니다. 데이터 파일에는 헤더가 포함되지 않습니다.
헤더 파일 예제:
ts appid type userid sessionid platform sdk_ver debug_device user_agent submit_time name custom_params
여섯 가지 데이터 타입(이벤트 타입)은 모두 서로 다릅니다. 각 타입의 스키마 정의는 아래를 참조하십시오.
참고:
ts
는 기기에서 이벤트가 생성된 시간의 타임스탬프입니다. 기기에서 생성된 타임스탬프는 기기 시계와 이벤트 수신 지연 속도로 인해 왜곡될 수 있습니다.submit_time
은 Unity 애널리틱스에서 이벤트를 수신한 시간의 타임스탬프입니다.0
, 문자열은 ""
, 부울은 false
). JSON-포맷 익스포트 시 IAP TransactionEvent.receipt
필드와 같이 중첩된 필드는 이 규칙에 대해 예외입니다. 중첩된 필드의 JSON-포맷 익스포트 시 데이터가 없는 필드는 해당 레코드의 JSON 객체에 포함되지 않습니다.{
"namespace":"com.unity.analytics.commons.schema",
"name":"AppStartEvent",
"type":"record",
"fields":[
{"name": "ts", "type": "long", "default": 0},
{"name": "appid", "type": "string", "default": ""},
{"name": "type", "type": "string", "default": ""},
{"name": "userid", "type": "string", "default": ""},
{"name": "sessionid", "type": "string", "default": ""},
{"name": "platform", "type": "string", "default": ""},
{"name": "sdk_ver", "type": "string", "default": ""},
{"name": "debug_device", "type": "boolean", "default": false},
{"name": "user_agent", "type": "string", "default": ""},
{"name": "submit_time", "type": "long", "default": 0}
]
}
{
"namespace":"com.unity.analytics.commons.schema",
"name":"AppRunningEvent",
"type":"record",
"fields":[
{"name": "ts", "type": "long", "default": 0},
{"name": "appid", "type": "string", "default": ""},
{"name": "type", "type": "string", "default": ""},
{"name": "userid", "type": "string", "default": ""},
{"name": "sessionid", "type": "string", "default": ""},
{"name": "platform", "type": "string", "default": ""},
{"name": "sdk_ver", "type": "string", "default": ""},
{"name": "debug_device", "type": "boolean", "default": false},
{"name": "user_agent", "type": "string", "default": ""},
{"name": "submit_time", "type": "long", "default": 0},
{"name": "duration", "type": "int", "default": 0}
]
}
{
"namespace":"com.unity.analytics.commons.schema",
"name":"CustomEvent",
"type":"record",
"fields":[
{"name": "ts", "type": "long", "default": 0},
{"name": "appid", "type": "string", "default": ""},
{"name": "type", "type": "string", "default": ""},
{"name": "userid", "type": "string", "default": ""},
{"name": "sessionid", "type": "string", "default": ""},
{"name": "platform", "type": "string", "default": ""},
{"name": "sdk_ver", "type": "string", "default": ""},
{"name": "debug_device", "type": "boolean", "default": false},
{"name": "user_agent", "type": "string", "default": ""},
{"name": "submit_time", "type": "long", "default": 0},
{"name": "name", "type": "string", "default": ""},
{
"name":"custom_params",
"type":["null",{
"type":"map",
"values": ["string","null"],
"default": ""
}],
"default": null
}
]
}
{
"namespace":"com.unity.analytics.commons.schema",
"name":"DeviceInfoEvent",
"type":"record",
"fields":[
{"name": "ts", "type": "long", "default": 0},
{"name": "appid", "type": "string", "default": ""},
{"name": "type", "type": "string", "default": ""},
{"name": "userid", "type": "string", "default": ""},
{"name": "sessionid", "type": "string", "default": ""},
{"name": "platform", "type": "string", "default": ""},
{"name": "sdk_ver", "type": "string", "default": ""},
{"name": "debug_device", "type": "boolean", "default": false},
{"name": "user_agent", "type": "string", "default": ""},
{"name": "submit_time", "type": "long", "default": 0},
{"name": "debug_build", "type": "boolean", "default": false},
{"name": "rooted_jailbroken", "type": "boolean", "default": false},
{"name": "processor_type", "type": "string", "default": ""},
{"name": "system_memory_size", "type": "string", "default": ""},
{"name": "make", "type": "string", "default": ""},
{"name": "app_ver", "type": "string", "default": ""},
{"name": "license_type", "type": "string", "default": ""},
{"name": "app_install_mode", "type": "string", "default": ""},
{"name": "model", "type": "string", "default": ""},
{"name": "engine_ver", "type": "string", "default": ""},
{"name": "os_ver", "type": "string", "default": ""},
{"name": "app_name", "type": "string", "default": ""},
{"name": "timezone", "type": "string", "default": ""},
{"name": "ads_tracking", "type": "boolean", "default": false}
]
}
{
"namespace":"com.unity.analytics.commons.schema",
"name":"TransactionEvent",
"type":"record",
"fields":[
{"name": "ts", "type": "long", "default": 0},
{"name": "appid", "type": "string", "default": ""},
{"name": "type", "type": "string", "default": ""},
{"name": "userid", "type": "string", "default": ""},
{"name": "sessionid", "type": "string", "default": ""},
{"name": "platform", "type": "string", "default": ""},
{"name": "sdk_ver", "type": "string", "default": ""},
{"name": "debug_device", "type": "boolean", "default": false},
{"name": "user_agent", "type": "string", "default": ""},
{"name": "submit_time", "type": "long", "default": 0}, {
"name":"receipt",
"type":["null",{
"type":"record",
"name": "receiptRecord",
"fields":[
{"name": "data", "type": "string", "default": ""},
{"name": "signature", "type": "string", "default": ""}
]
}],
"default": null
},
{"name": "currency", "type": "string", "default": "USD"},
{"name": "amount", "type": "float", "default": 0},
{"name": "transactionid", "type": "long", "default": 0},
{"name": "productid", "type": "string", "default": ""}
]
}
데이터 필드 | 정의(Definition) | 데이터 집합 |
---|---|---|
ts | 기기에서 이벤트가 생성된 시간의 타임스탬프(밀리초 단위)입니다. 기기에서 생성된 타임스탬프는 기기 시계와 이벤트 수신 지연 속도로 인해 왜곡될 수 있습니다. | 모든 데이터 집합 |
appid | Unity 애널리틱스 대시보드에서 각 앱에 할당되는 ID | 모든 데이터 집합 |
type | 쿼리되는 이벤트 타입(Custom, DeviceInfo, Transaction 등) | 모든 데이터 집합 |
userid | userid에 대한 Unity 애널리틱스 생성 식별자 | 모든 데이터 집합 |
sessionid | 세션에 대한 Unity 애널리틱스 생성 식별자입니다. 30분 넘게 활동이 없다가 게임이 다시 열리면 새 세션 ID가 생성됩니다. | 모든 데이터 집합 |
remote_ip | 세션이 플레이된 IP 주소. 이 필드는 제거되어 더 이상 이용할 수 없습니다. | 사용 안 함 |
platform | 세션이 플레이된 플랫폼 | 모든 데이터 집합 |
sdk_ver | 이 이벤트에 사용 중인 Unity 애널리틱스 SDK 버전입니다. sdk_ver가 “u”로 시작되는 경우 애널리틱스 툴로 빌드된 엔진에서 가져온 버전입니다. 그렇지 않으면 Unity 5.2보다 오래된 버전의 애널리틱스 플러그인에서 가져옵니다. | 모든 데이터 집합 |
debug_device | 이벤트가 개발 빌드에서 전송되었는지 표시하는 부울입니다. Unity 에디터에서 전송된 이벤트에 대해서는 TRUE로 설정합니다. | 모든 데이터 집합 |
user_agent | 사용자 에이전트 요청 헤더 필드 | 모든 데이터 집합 |
submit_time | Unity 애널리틱스에서 이벤트를 수신한 시간의 타임스탬프(밀리초 단위) | 모든 데이터 집합 |
duration | SDK에서 계산한 이 세션이 실행된 기간(초 수) | AppRunning |
name | Custom 이벤트 이름(예: “LevelComplete”) | Custom |
custom_params | Custom 이벤트 파라미터와 각각의 해당 값이 나열된 리스트 | Custom |
receipt | App Store와 Google Play 같은 플랫폼 앱 스토어에서 반환되는 데이터 포함 | Transaction |
currency | ISO 4217 코드로 표시한 결제 통화 코드(예: USD, EUR, CAD 등) | Transaction |
amount | 지출한 화폐의 총 10진수 금액 | Transaction |
transactionid | SDK에서 설정한 트랜잭션 고유 식별자입니다. 각 트랜잭션에는 고유 ID가 부여되며, 이 ID를 스토어의 트랜잭션 ID와 혼동해서는 안 됩니다. | Transaction |
productid | 인앱 구매의 스토어별 제품 식별자(예: com.mygame.100coins) | Transaction |
debug_build | 이벤트가 개발 빌드에서 전송되었는지 표시하는 부울입니다. Unity 에디터에서 전송된 이벤트에 대해서는 TRUE로 설정합니다. | DeviceInfo |
rooted_jailbroken | 노멀 폰에 대해 루팅/탈옥된 폰을 보내지 않은 경우 TRUE로 설정되는 부울 | DeviceInfo |
processor_type | 기기 프로세서 타입 | DeviceInfo |
system_memory_size | 기기 시스템 메모리 | DeviceInfo |
make | 기기 메이커(예: “OSXEditor”) | DeviceInfo |
app_ver | 애플리케이션 버전(예: “1.0”) | DeviceInfo |
deviceid | 고유 기기 식별자입니다. 이 필드는 제거되어 더 이상 이용할 수 없습니다. | 사용 안 함 |
license_type | 라이선스 타입(예: “advanced_pro”) | DeviceInfo |
app_install_mode | 앱이 앱 스토어(“store”), 임시(“adhoc”), 개발자 설치(“dev_release”), 시뮬레이터(“simulator”) 또는 엔터프라이즈(“enterprise”) 중 무엇을 통해 설치되었는지 나타냅니다. | DeviceInfo |
model | 기기 모델(예: “MacBookPro11,3”) | DeviceInfo |
engine_ver | Unity 엔진 버전(예: “5.5.0a3”) | DeviceInfo |
os_ver | OS 버전(예: “Mac OS X 10.11.5”) | DeviceInfo |
app_name | 번들 식별자 또는 패키지 이름(예: “com.Company.ProductName”) | DeviceInfo |
timezone | ISO 코드(예: “GMT–7”) | DeviceInfo |
ads_tracking | 사용자가 광고 추척을 제한했는지 여부를 나타내는 부울 값 | DeviceInfo |
adsid | 광고 ID입니다. iOS에서는 Unity 애즈가 활성화된 경우에 수집되고 Android에서는 항상 수집됩니다. 이 필드는 제거되어 더 이상 이용할 수 없습니다. | 사용 안 함 |