운영 배포 체크리스트
배포 전 보안 체크리스트
필수 체크리스트
앱 설정
- 웹 서버 URL → 실제 운영 도메인으로 설정 (HTTPS)
-
google-services.json→ 운영용 Firebase 프로젝트 파일로 교체 -
assets/config.json→ 운영 환경에 맞는 설정 확인
라이선스
- 대시보드 → 앱 설정 → 패키지명 등록 완료
- 릴리즈 키스토어 서명 해시 등록 완료
- 운영 라이선스 활성화 완료
-
app/src/release/assets/license.key파일 최신 파일로 교체
보안 설정 (assets/config.json)
- 스크린샷 보호 설정 확인 (
security.screenshotProtectionEnabled) - 백그라운드 화면 보호 설정 확인 (
security.backgroundProtectionEnabled) - 루트 탐지 활성화 (
security.rootDetectionEnabled: true)
{
"security": {
"screenshotProtectionEnabled": true,
"backgroundProtectionEnabled": true,
"rootDetectionEnabled": true
}
}금융, 의료, 결제 앱은 screenshotProtectionEnabled: true를 권장합니다. 스크린샷 및 화면 녹화를 차단합니다.
앱 무결성
- Google Play Console → 앱 무결성 → Play Integrity API 활성화 완료
- Google Cloud Console → 해당 프로젝트에 Play Integrity API 사용 설정 완료
자세한 내용은 앱 무결성 검증 문서를 참고하세요.
Android 권한 (AndroidManifest.xml)
- 사용하는 Bridge에 필요한 권한만 주석 해제 완료
기능 권한(CAMERA, RECORD_AUDIO, ACCESS_FINE/COARSE_LOCATION, USE_BIOMETRIC 등)은 매니페스트에 주석 처리된 상태로 배포됩니다. 실제로 사용하는 Bridge에 해당하는 권한만 주석을 해제하세요. 사용하지 않는 권한을 선언하면 Google Play 데이터 안전(Data Safety) 섹션에서 불필요한 항목을 신고해야 합니다. INTERNET, POST_NOTIFICATIONS, VIBRATE는 기본적으로 활성화되어 있습니다.
Google Play 배포
- 앱 서명: Google Play App Signing 사용 권장
- 사용 시: Google 재서명 인증서 해시로 운영 라이선스 재활성화 필요
- Play Console → 앱 → 앱 무결성 → 앱 서명 인증서 SHA-256 지문 확인
- AAB 포맷으로 업로드 (APK 지양)
- 앱 버전(
versionCode,versionName) 확인
# 각 플레이버별 AAB 빌드
./gradlew :app:bundleBasicRelease
./gradlew :app:bundleStandardRelease
./gradlew :app:bundleProRelease소셜 로그인 (사용 시)
- 각 소셜 SDK의 개발자 콘솔에 운영 패키지명 등록 완료
-
social_login_config.json키가 운영 환경용으로 설정됨 - Meta 사용 시:
build.gradle.ktsmanifestPlaceholders 확인
iOS (App Store)
Info.plist 사용 목적 문자열
사용하는 기능에 해당하는 usage-description 키가 Info.plist에 포함되어 있는지 확인하세요.
-
NSCameraUsageDescription(카메라 / QR 스캔) -
NSFaceIDUsageDescription(생체 인증 / Face ID) -
NSLocationWhenInUseUsageDescription(위치) -
NSMicrophoneUsageDescription(마이크 / 음성 인식) -
NSPhotoLibraryUsageDescription/NSPhotoLibraryAddUsageDescription(사진 라이브러리) -
NSSpeechRecognitionUsageDescription(음성 인식)
실제로 사용하는 기능에 해당하는 키만 포함하고, 각 문자열에 사용 목적을 사실대로 명확히 작성하세요. 사용하지 않는 권한 문자열을 넣거나 목적이 불명확하면 App Store 심사에서 거부될 수 있습니다.
서명 및 배포
- App Store 서명 / 프로비저닝 프로파일 설정 완료 (배포용 인증서, App ID)
- StoreKit 2 인앱 상품 구성 완료 — App Store Connect에 상품 등록 (인앱 결제 사용 시)
- (참고) SDK의 xcframework에는 dSYM이 포함되어 있어, App Store 업로드 시 Validate App에서 심볼 관련 경고가 발생하지 않습니다 — 별도 조치 불필요
Google Play App Signing 주의사항
Google Play App Signing을 사용하면 Google이 앱을 재서명합니다. 이때 업로드한 keystore의 SHA-256과 Google 재서명 인증서의 SHA-256이 다릅니다.
운영 라이선스 활성화 시 Google 재서명 인증서의 SHA-256을 사용해야 합니다.
- Play Console → 앱 → 앱 무결성 → 앱 서명 인증서 섹션
- SHA-256 인증서 지문 복사
- 대시보드 → 앱 설정 → 앱 서명 해시 업데이트
- 운영 라이선스 재활성화