Unity iOS 앱 개발을 위한 개인정보 보호 매니페스트 가이드
이 문서는 Unity를 사용하여 iOS 애플리케이션을 개발할 때 필요한 개인정보 보호 매니페스트 파일의 작성 및 관리에 대한 정보를 제공합니다.
개인정보 보호 매니페스트란?
Apple은 개인정보 보호 매니페스트 파일(PrivacyInfo.xcprivacy)을 요구합니다. 이 파일은 앱이 어떤 데이터를 수집하는지와 수집 이유를 정의합니다. 반드시 명시해야 하는 이유가 있으며, 이를 선언하지 않으면 앱이 앱 스토어에서 거부될 수 있습니다.
개인정보 보호 매니페스트 작성 절차
1단계: API 사용 평가
애플리케이션이 아래의 API를 사용하는지 평가합니다:
- 필수 사유 API 카테고리에 속하는 API
- C# .Net 프레임워크 API
이 중 하나라도 사용할 경우, Xcode에서 개인정보 보호 매니페스트 파일을 생성하고 Assets/Plugins 폴더에 저장해야 합니다.
2단계: 데이터 유형 선언
애플리케이션이 Apple에서 분류한 데이터 유형을 수집하는 경우, 해당 데이터 유형을 매니페스트 파일에 선언해야 합니다.
3단계: 타사 SDK 및 플러그인 고려
애플리케이션에 포함된 모든 타사 SDK, 패키지 및 플러그인 역시 별도의 개인정보 보호 매니페스트 파일을 포함해야 합니다.
개발자 책임
- API 사용에 대한 이유를 명확히 선언하는 것은 개발자의 책임입니다.
- Unity 프레임워크 내의 개인정보 보호 매니페스트의 정확성을 검토하고, 타사 구성 요소가 필요한지를 확인하는 것도 개발자의 의무입니다.
타사 SDK, 패키지 및 플러그인을 위한 매니페스트
타사 SDK 또는 패키지를 제공하는 경우, 해당 소프트웨어가 사용하는 데이터 및 API에 대한 정보를 평가한 후, 개인정보 보호 매니페스트 파일을 작성해야 합니다.
Unity의 C# .Net 프레임워크 API
필수 사유 API 카테고리와 관련된 C# .Net API 목록은 아래와 같습니다.
| API | 설명 |
|---|---|
| fileInfo.CreationTime | 파일 생성 시간 |
| fileInfo.LastAccessTime | 파일 마지막 접근 시간 |
| fileInfo.LastWriteTime | 파일 마지막 수정 시간 |
| File.GetCreationTime(filePath) | 주어진 파일의 생성 시간 |
| Directory.GetCreationTime(filePath) | 주어진 디렉토리의 생성 시간 |
Unity 엔진 개인정보 보호 매니페스트 API
Unity 엔진에서 호출하는 필수 사유 API 목록은 다음과 같습니다.
| 카테고리 | 원인 | 설명 |
|---|---|---|
| File timestamp APIs | 0A2A.1 | C# 타임스탬프 API 사용 |
| 사용자 기본 API | CA92.1 | PlayerPrefs API 사용 |
| 시스템 부트 시간 API | 35F9.1 | 여러 이벤트 간 시간 계산에 사용 |
| 디스크 공간 API | E174.1 | AssetBundle의 디스크 공간 확인 |
결론
Apple의 개인정보 보호 정책에 부합하는 애플리케이션을 개발하기 위해서는 필수 사유 API의 사용을 평가하고, 데이터 수집에 대한 이유를 명확히 선언하는 것이 매우 중요합니다. Unity를 사용하여 애플리케이션을 개발하는 모든 개발자는 이러한 가이드를 준수하여 성공적인 앱 스토어 배포를 목표로 해야 합니다.