앱 크기는 기술 품질에서 중요한 요소로, 앱의 설치 및 제거 측정항목에 영향을 미칠 수 있습니다. 또한 Google Play에는 앱 및 동적 콘텐츠(예: 기능 모듈 및 애셋 팩)의 크기 제한도 있습니다. 이 도움말에서는 계속해서 앱 크기를 최대한 최적화된 상태로 유지할 수 있도록 Google Play의 크기 제한에 관해 자세히 설명하고 Play Console을 사용하여 앱과 관련된 크기를 파악하는 방법을 설명합니다.
Google Play 최대 크기 제한
App Bundle, 기능 모듈, 애셋 팩에는 아래의 크기 제한이 적용됩니다. 모든 Google Play 크기 제한은 App Bundle을 업로드할 때 Play Console에서 계산한 압축 다운로드 크기를 기준으로 합니다. 동일하지는 않지만 유사한 계산을 사용하는 bundletool 명령줄 도구를 통해, Play Console에 업로드하기 전에 크기를 대략 추정할 수 있습니다.
중요: Google Play에서는 설치 측정항목을 개선할 수 있도록 앱 크기를 최대한 작게 유지하고 최적화할 것을 권장합니다. 대부분의 개발자는 크기 제한보다 상당히 낮은 수준을 유지합니다.
|
앱 구성요소 |
앱 다운로드 크기 제한 |
|---|---|
|
기본 모듈 |
200MB |
|
개별 기능 모듈 |
200MB |
|
개별 애셋 팩 |
1.5GB |
|
모든 모듈 및 설치 시간 애셋 팩의 누적 합계 |
4GB |
|
주문형 또는 패스트 팔로우로 전송된 애셋 팩의 누적 합계 (Level Up 프로그램에 등록되지 않았거나 Android XR 콘텐츠를 배포하지 않는 개발자) |
4GB |
|
주문형 또는 패스트 팔로우로 전송된 애셋 팩의 누적 합계 (Level Up 프로그램에 등록된 개발자 또는 Android XR 콘텐츠를 배포하는 개발자) |
30GB |
Google Play에 게시된 앱의 총 최대 압축 다운로드 크기는 8GB이며, Level Up 프로그램 및 Android XR 콘텐츠의 게임은 34GB입니다.
위에 나열된 크기 제한 외에도 다음 사항을 참고하세요.
- 1GB보다 큰 앱은 Android Lollipop(API 수준 21) 이상의 최소 SDK 버전을 타겟팅해야 합니다.
- Android Oreo(API 수준 26) 이상의 최소 SDK 버전을 타겟팅하는 앱의 경우 권장되는 기능 모듈의 최대 개수는 100개입니다. 더 낮은 최소 SDK 버전을 타겟팅하는 경우 기능 모듈의 최대 개수는 50개입니다.
- 개별 App Bundle의 최대 애셋 팩 수는 100개입니다.
- 앱 크기가 200MB를 넘으면 모바일 데이터 연결을 이용하는 사용자가 Google Play에서 앱을 설치할 때 Android 기기에 앱의 크기가 크다는 것을 알리는 비차단 대화상자가 표시됩니다.
- 여전히 App Bundle 대신 APK를 사용하여 게시되는 앱에는 기존 APK 크기 제한(최대 APK 크기 100MB)이 적용되며 위의 크기 제한은 적용되지 않습니다.
앱의 다운로드 크기 보기
프로덕션 트랙에 앱을 출시한 후 앱 크기 페이지(모니터링 및 개선 > Android vitals > 앱 크기)에서 앱의 다운로드 크기를 확인할 수 있습니다.
앱 크기 페이지에서 확인 가능한 데이터는 다음과 같습니다.
- 앱 다운로드 크기: 참조 기기의 앱 크기 및 모든 기기 설정의 앱 크기 범위입니다.
- 동종 앱 대비 앱 다운로드 크기: 동종 앱과 비교한 앱 크기입니다.
- 8~12개의 앱으로 구성된 맞춤 동종 앱 그룹을 만들려면 동종 앱 그룹 수정을 클릭합니다.
- 시간 경과에 따른 앱 다운로드 크기: 시간의 경과에 따른 동종 앱 대비 앱 크기의 변화 추이입니다.
- 차트의 오른쪽 상단에서 확인하려는 기간을 선택하고 체크박스를 선택하면 모든 기기 설정의 앱 크기 범위가 표시됩니다.
- 여유 공간이 2GB 미만인 활성 기기: 앱의 활성 사용자 중 기기에 남아 있는 저장공간이 2GB 미만인 사용자 비율입니다.
- 여유 공간이 2GB 미만인 기기에서 발생한 제거: 전체 활성 기기에서 발생한 제거 대비 여유 저장공간이 2GB 미만인 활성 기기에서 발생한 제거 비율입니다.
참고:
- 모든 크기는 최신 프로덕션 버전 및
XXXHDPI ARMv8기기 설정 또는 앱에서 지원되는 가장 가까운 기기 설정을 바탕으로 계산된 대푯값입니다. - 여유 공간이 2GB 미만인 활성 기기 및 여유 공간이 2GB 미만인 기기에서 발생한 제거 측정항목은 30일간의 이동 평균을 기준으로 계산되며 앱에 해당된다고 판단될 경우에만 표시됩니다.
크기 분석 보기
Android App Bundle을 사용하여 앱을 게시하면 번들 버전 코드별로 정리된 차트를 볼 수 있습니다. 이때 이전에 출시한 버전 5개의 총 다운로드 크기 또는 설치 크기 대비 현재 앱 계정의 다양한 구성요소가 차지하는 공간에 관한 분석 결과도 표시됩니다.
분석 결과를 통해 가장 많은 공간을 차지하는 앱 요소와 공간 최적화를 위해 더 개선해야 할 영역을 확인할 수 있습니다. 분석 결과의 기반은 참조 기기 설정을 대상으로 App Bundle에서 생성된 APK입니다.
분석에는 다음 데이터가 표시됩니다.
- 코드/DEX: Android에서 DEX 형식으로 실행되도록 컴파일된 앱의 모든 Java 또는 Kotlin 코드입니다.
- 리소스: 리소스 테이블과 코드가 아닌 앱 구성요소(문자열 또는 이미지와 같이 res/ 디렉터리에 있는 구성요소)가 포함됩니다.
- 애셋: 소리 파일이나 동영상과 같이 앱에서 사용하는 assets/ 디렉터리의 기타 파일입니다.
- 네이티브 라이브러리: 앱의 libs/ 디렉터리에 있는 네이티브 코드입니다. 일반적으로 Java 또는 Kotlin이 아닌 모든 코드입니다.
- 기타: 앱 내 기타 파일입니다.