첫 번째 앱을 App Store 또는 Play Store에 제출하는 것은 압도적인 느낌을 줄 수 있습니다. 2026년 현재 지속적으로 변하는 지침과 더 엄격한 강제성이 있기 때문에 앱을 승인하기 위해서는 세부 사항에 주의를 기울여야 합니다. 이 포괄적인 가이드는 iOS 및 Android 플랫폼의 첫 번째 제출에 대한 리뷰를 통과하기 위해 필요한 모든 것을 안내합니다.
2026년 리뷰 프로세스 이해
애플과 구글은 최근 몇 년 동안 개인 정보 보호, 보안 및 사용자 경험에 대한 강조를 포함하여 리뷰 프로세스를 엄격하게 강화했습니다. 첫 번째 개발자에게 이러한 변경 사항을 이해하는 것은 중요합니다.
iOS 앱 스토어 리뷰 타임라인
- 표준 리뷰: 24-48 시간
- 피크 기간: 3-5 일 (특히 휴일 시즌)
- 주말: 리뷰 처리 없음
- 급 리뷰: 중요 버그 수정에 사용 가능 (App Store Connect를 통해 요청해야 함)
프로 팁: 주중 초반에 제출 (월요일-화요일) 주말 지연을 피하기 위해. 월요일 제출은 일반적으로 수요일에 리뷰됩니다.
App Store Connect 상태
- 제출준비: 빌드 또는 메타데이터가 준비 중입니다.
- 심사 대기: 애플이 제출을 대기열에 넣었습니다.
- 심사 중: 앱을 검토하는 심사 팀이 활발하게 활동 중입니다.
- 개발자 배포 대기: 승인되었지만, 개발자의 수동 배포 선택을 기다리고 있습니다.
- 반려 / 해결되지 않은 문제: 승인하기 전에 애플이 변경이 필요합니다.
2026년 구글 플레이 스토어 리뷰 타임라인
- 초기 심사3-7 일 (이전 연도보다 훨씬 더 길다)
- 폐쇄 테스트 게이트14 일 이상의 최소 기간이 필요한 영향을 받은 새로운 개인 Play Console 계정은 프로덕션 액세스를 요청하기 전에
- 테스트 후 프로덕션 검토폐쇄 테스트 요구 사항이 완료된 후 일반적으로 3-7 일 후
- 기존 앱 업데이트1-3 일
- 정책 위반추가 검토가 트리거되면 14 일 이상까지 연장될 수 있다
중요 업데이트Google은 일부 새로운 Play Console 계정에 대해 훨씬 더 엄격한 테스트가 필요하다고 요구하기 때문에 자세한 내용은 아래에서 다룹니다.
애플 개발자 계정 설정
iOS 첫 번째 릴리스 전에 Apple 측이 올바르게 설정되어 있는지 확인하세요:
- Apple Developer Program에 가입하세요. Apple Developer Program 가입
- Apple 계정에 가입한 Apple Account에 두 단계 인증을 활성화하세요.
- 적절한 회원 유형을 선택하세요:
- 개인 / 단독 사업자: 판매자 이름은 App Store에서 법적 개인 이름이 됩니다.
- 기업: 법적 엔터티, D-U-N-S 번호, 공개 웹사이트 및 Apple의 계약에 회사에 결합할 수 있는 사람을 필요로 합니다.
- 등록 시 법적 이름을 사용하세요. 첫/마지막 이름 field에 별명이나 회사 이름을 사용하면 승인 지연이 발생할 수 있습니다.
- 등록 승인이 나면 App Store Connect에 로그인하여 앱 레코드를 만들고 최종 번들 ID, 앱 이름, SKU, 기본 언어를 설정하세요.



중요Apple은 시간에 따라 최소 SDK 요구 사항을 변경합니다. 2026년 4월 28일부터 2026년 4월 28일, apps uploaded to App Store Connect must use the iOS & iPadOS 26 SDK 또는 그 이상.
안드로이드 테스트의 핵심 요건
12명 테스터 요구 사항 (개인 Android 계정)
Google Play 개발자 계정이 개인 계정으로 생성된 경우
개인 계정은 2023년 11월 13일 이후에 생성된 경우 12 Tester Requirement for New Personal Android Accounts앱이 프로덕션으로 출시되기 전에 폐쇄 테스트 기간을 완료해야 합니다.
요구 사항:
- 최소 12 명의 테스터: 최소 12 명의 테스트를 동의한 테스터를 모집해야 합니다.
- 14 일간 테스트 기간: 폐쇄 테스트 기간이 최소 14 일 연속이어야 합니다.
- 프로덕션 액세스 신청: 테스트 기간이 끝난 후에도 Play Console에서 프로덕션 액세스를 신청해야 합니다.
- 피드백 수집: 발견한 문제, 수정한 내용, 테스터가 앱을 사용한 방법을 문서화해야 합니다.
테스트 트랙 설정 방법
-
: 폐쇄 테스트 트랙을 설정하는 방법
- Google Play Console로 이동하세요.
- 테스트 및 출시 > 테스트 > 폐쇄 테스트로 이동하세요.
- 폐쇄 테스트 트랙에서 새로운 릴리즈를 생성하세요.
- 폐쇄 테스트 트랙에서 새로운 릴리즈를 생성하세요.
.aab)
-
Android 앱 번들(
테스터를 모집하세요.
- 테스터를 찾는 곳:
- 친구와 가족 (가장 쉬운 시작점)
- 개발자 커뮤니티 (Reddit의 /r/androiddev, /r/betatests)
- 소셜 미디어 팔로워
- 베타 테스트 플랫폼 (BetaList, BetaTesting.com)
Important: 테스터가 올바른 Gmail 계정을 가지고 있는지 확인하세요.
- 유효한 Gmail 계정을 가지고 있는 테스터가 있는지 확인하세요.
- 실제로 안드로이드 기기를 사용하는 테스터가 있는지 확인하세요.
- 14일 동안 최소한의 옵트인 상태를 유지하는 테스터가 있는지 확인하세요.
-
테스터 초대
- Play Console에서 테스터 목록을 만드세요.
- 테스터 이메일 주소를 추가하세요.
- 테스터에게 옵트인 URL을 공유하세요.
- 앱을 설치하고 사용하도록 테스터에게 nhắc세요.
-
테스트 활동을 모니터링하세요.
- Play Console에서 설치 횟수를 확인하세요.
- 앱이 응답하지 않는 경우(ANR)와 오류 보고서를 추적하세요.
- 테스터 피드백 수집
- 판매 전 심각한 문제 해결
-
프로덕션으로 출시
- 14일 동안 12명 이상의 테스터가 동의한 후
- Play Console 대시보드에서 프로덕션 액세스 신청
- 모든 충돌 보고서 및 피드백 검토
- 최종 검토를 위해 프로덕션 릴리즈 생성 및 제출
이 요구 사항을 도입한 이유
구글이 이 요구 사항을 도입한 이유는
- 저품질 앱 스팸을 줄이기 위해
- 사용자에게 앱이 적절히 테스트되었는지 확인하기 위해
- 실제 사용 패턴을 통해 악성 앱을 식별하기 위해
- Play Store 품질을 전체적으로 개선하세요.
실제 상황 점검: 이 기능을 추가하면 최소 2-3주가 출시 일정에 추가됩니다. accordingly 계획하고 테스터를 일찍 모집하세요.
인증 및 로그인 요구 사항
인증 시스템의 적절한 구현이 부족한 경우 가장 흔한 거절 사유입니다. 특히 소셜 로그인에 대한 것입니다.
애플 로그인 요구 사항 (iOS에 필수)
애플의 규칙: 앱에서 제 3자 소셜 로그인 옵션 (Google, Facebook, Twitter 등)을 제공한다면, 해야 합니다. 또한
Google 로그인:
- Sign in with Apple
- Facebook 로그인
- 트위터/X 로그인
- 링크드인 로그인
- 어떤 다른 세 번째-party 인증 서비스
이것은 NOT 적용됩니다.:
- 이메일/비밀번호만 인증
- 정부 ID 시스템
- 기업 SSO 시스템 (앱이 특정 기업에 대해 사용되는 경우)
- 교육 제공자 인증 시스템
애플과 함께 로그인 구현
사회 로그인 사용 중이면 구현해야 할 내용입니다.
import { SignInWithApple } from '@capacitor-community/apple-sign-in';
async function signInWithApple() {
try {
const result = await SignInWithApple.authorize({
clientId: 'com.yourapp.service',
redirectURI: 'https://yourapp.com/auth/callback',
scopes: 'email name',
state: '12345',
nonce: 'nonce',
});
// result contains:
// - identityToken
// - authorizationCode
// - email (may be null if user previously authorized)
// - givenName
// - familyName
// Send to your backend for verification
await verifyAppleToken(result.identityToken);
} catch (error) {
console.error('Apple Sign In failed:', error);
}
}
중요한 고려 사항:
-
이메일 개인 정보 보호: 사용자는 이메일을 숨길 수 있습니다. 애플은 개인용 전송 메일 (예를 들어,
abc123@privaterelay.appleid.com)을 제공합니다. 앱은 이메일을 숨길 수 있습니다. -
첫 번째 사용자 vs 반복 사용자: 애플은 첫 번째 인증 후 사용자 정보 (이름, 이메일)만 제공합니다. 이 정보를 저장하세요. 이후 로그인 시 이 정보가 포함되지 않습니다.
-
버튼 디자인: 애플은 Sign in with Apple 버튼의 엄격한 디자인 가이드라인을 제공합니다. 공식 자산을 사용하세요.
-
백엔드 확인: 백엔드 서버에서 항상 사용자 식별 토큰을 확인하세요. 클라이언트 측 토큰만 신뢰하지 마세요.
안드로이드 소셜 로그인 요구 사항
안드로이드에서는 iOS와 달리 특정 제공자를 요구하지 않지만 Google은 다음 가이드라인을 제공합니다:
구글 로그인 요구 사항:
- 구글 시그니인을 사용하기 위해 공식 구글 시그니인 SDK을 사용해야 합니다.
- Google의 브랜딩 가이드라인을 따르세요.
- 로그인 옵션을 제공할 경우 기본 옵션으로 사용하세요.
멀티 플랫폼 개발을 위한 Best Practice: 모바일과 웹에서 일관성을 유지하기 위해 동일한 로그인 옵션을 제공하세요.
- 이메일/비밀번호
- 애플 로그인 (iOS만, 또는 Android에서 웹 기반 애플 로그인을 지원할 경우)
- Google 로그인
- 다른 사회적 옵션 (Facebook, Twitter 등)
기타 소셜 옵션 (페이스북, 트위터 등)
데모 계정 요구 사항리뷰에 중요합니다. 로그인 필요할 경우 must 제출할 때 demo 계정의 인증 정보를 제공해야 합니다.
Demo Account Information:
Username: reviewer@demo.com
Password: ReviewTest123!
OR
Test Phone: +1 555-0123
Test OTP: 123456 (static for review)
Notes:
- This account has full premium features enabled
- All payment flows work in sandbox mode
- Account will reset daily
일반적인 오류:
- 만료된 인증 정보를 제공하는 경우
- demo 계정이 모든 기능에 접근할 수 없는 경우
- 전화 인증을 우회하는 방법을 언급하지 않는 경우
- 결제 정보를 언급하지 않는 경우
개인 정보 보호 정책 및 법적 요구 사항
모든 앱 스토어에서 앱의 개인 정보 보호 정책과 서비스 약관이 접근성이 좋은지 확인해야 합니다. 앱을 제출하기 전에 첫 번째 제출이 승인되면
개인 정보 보호 정책 요구 사항
개인 정보 보호 정책은 반드시:
-
공개적으로 접근 가능해야 합니다.
- 공개 URL (로그인 후에 접근할 수 없는 URL)에서 호스팅되어야 합니다.
- 표준 웹 브라우저에서 로드할 수 있어야 합니다.
- 앱의 언어와 동일한 언어로 제공되어야 합니다.
-
다음 필수 주제를 포함해야 합니다.:
- 수집한 데이터에 대한 정보 (세부 정보)
- 수집한 데이터를 사용하는 방법
- 세계적인 제3자와 데이터를 공유하는지 여부
- 데이터가 얼마나 오래 보관되는지
- 사용자의 권리 (접근, 삭제, 이동성)
- 개인 정보 보호 문의에 대한 연락처 정보
- 13세 이하/16세 이하 사용자 대상 앱의 개인 정보 보호
-
앱 내에서 연결되어야 합니다.
- 설정 또는 계정 화면에서 접근할 수 있어야 합니다.
- 메뉴에 묻지 않고 한 번 클릭으로 접근할 수 있어야 합니다.
- 기본 브라우저 또는 앱 내 브라우저에서 열려야 합니다.
개인 정보 보호 정책을 호스팅할 곳
Option 1: 웹사이트 (권장)
https://yourapp.com/privacy-policy
https://yourapp.com/terms-of-service
Option 2: GitHub 페이지 (무료)
https://yourusername.github.io/app-privacy-policy
Option 3: 개인 정보 보호 정책 생성기 (빠른 시작)
중요정책을 작성할 때, 일반 템플릿 대신 실제 데이터 처리 방식이 반영된 정확한 정책을 작성해야 합니다.
약관 및 이용 조건 요구 사항
약관 및 이용 조건을 항상 필수적으로 작성해야 하는 것은 아니지만, 다음과 같은 경우에는 강력히 권장하고 필요합니다.
- 인앱 구매 또는 구독을 제공할 경우
- 사용자 생성 콘텐츠가 있는 경우
- 기본 앱 기능 이외의 서비스를 제공할 경우
- 법적 보호를 원할 경우
포함해야 함:
- 사용 약관
- 계정 해지 조건
- 책임 제한
- 지적 재산권
- 분쟁 해결 절차
- 환불 정책 (특히 IAP)
앱 내 구현
// Settings or Account Screen
function LegalLinks() {
return (
<div className="legal-section">
<h3>Legal</h3>
<a
href="https://yourapp.com/privacy-policy"
target="_blank"
rel="noopener noreferrer"
>
Privacy Policy
</a>
<a
href="https://yourapp.com/terms-of-service"
target="_blank"
rel="noopener noreferrer"
>
Terms of Service
</a>
<a
href="https://yourapp.com/contact"
target="_blank"
rel="noopener noreferrer"
>
Contact Us
</a>
</div>
);
}
모든 스토어는 앱 제출 시 개인 정보 보호 정책 URL 제공을 요구합니다:
iOS - 앱 스토어 연결
앱 정보 > 일반 정보 > 개인 정보 보호 정책 URL:
- HTTPS여야 함 (HTTP는 거부됨)
- HTTPS 연결이어야 합니다 (HTTP은 거부될 것입니다).
- 앱 스토어 페이지에 표시됩니다.
- 사용자에게 실제 연락처가 포함된 지원 URL을 추가하세요.
- 제출 전에 나이 등급 설문지를 완료하세요.
안드로이드 - 구글 플레이 콘솔:
- 스토어 존재 > 스토어 설정 > 개인 정보 보호 정책
- 어린이 대상 앱에 필수입니다.
- 모든 앱에 강력히 추천합니다.
개인 정보 보호 영양 표식 (iOS)
iOS는 '영양 표식' 형식의 세부 개인 정보 공개가 필요합니다:
Declare Categories You Must:
- 연락처context
- 금융 정보: 결제 정보, 신용 카드, 은행 계좌
- 위치: 정확한 위치 또는粗略한 위치
- 사용자 콘텐츠: 사진, 동영상, 오디오, 메시지
- 식별자: 사용자 ID, 장치 ID, 광고 ID
- 사용 데이터: 제품 상호 작용, 광고 데이터, 충돌 로그
- 디아그노스틱: 충돌 데이터, 성능 데이터
각 데이터 유형에 대해 명시하세요:
- 데이터가 수집되는지 여부
- 사용자 식별 정보와 연결되는지 여부
- 추적을 위한 데이터가 사용되는지 여부
- 데이터 수집의 목적
일반적인 실수: 데이터가 수집되지 않는다고 말하는 경우, 분석 SDK이 데이터를 수집하고 있는 경우가 있습니다. 모든第三자 SDK를 데이터 수집에 대한 감사 진행하세요.
구글 플레이 데이터 안전 섹션
iOS와 유사하게, Android는 데이터 안전성 선언이 필요합니다.
단계:
- Play Console > 앱 콘텐츠 > 데이터 안전으로 이동하세요
- 데이터 수집에 대한 질문에 답변하세요
- 데이터 유형을 수집하는 방법을 지정하세요.
- 보안 관행에 대해 설명하세요 (암호화 등)
- 개인 정보 보호 정책 링크를 제공하세요.
중요: 이 정보는 법적으로 ràng buộc됩니다. 오보는 앱 제거 및 계정 중단으로 이어질 수 있습니다.
일반적인 첫 번째 거부 사유
앱이 거부되는 이유를 이해하면 이러한 함정에 빠지지 않도록 도와줍니다:
1. 앱이 충돌하거나 실행되지 않습니다.
왜 일어나는지:
- 테스트를 에뮬레이터에서만 진행하는 경우
- 네트워크 실패에 대한 오류 처리가 누락된 경우
- API에 의해 고정된 끝점이 도달할 수 없는 경우
- 특정 장치 기능 (카메라, GPS) 을 가정합니다.
예방 방법:
// Always implement proper error handling
async function loadData() {
try {
const response = await fetch('https://api.yourapp.com/data');
if (!response.ok) {
throw new Error(`HTTP ${response.status}`);
}
const data = await response.json();
return data;
} catch (error) {
// Show user-friendly error
showError('Unable to load data. Please check your connection.');
// Log for debugging
console.error('Data load failed:', error);
// Graceful degradation
return getCachedData();
}
}
테스트 체크리스트:
- 실제 장치에서 테스트 (최소 2-3 개의 모델)
- 네트워크 연결 조건기를 사용하여 느린 네트워크에서 테스트
- 비행 모드에서 테스트
- 권한이 거부된 경우 테스트
- 캐시 데이터가 없는 새 설치 (fresh install)에서 테스트
2. 핵심 기능이 누락되거나 깨진 경우
왜 발생하는가:
- 스크린샷에 표시된 기능이 아직 존재하지 않습니다.
- 데모 계정이 광고된 기능에 접근할 수 없습니다.
- Premium 기능은 표시되지만 구현되지 않습니다.
- “앱에 나타나는 “곧 출시될 예정” 표시”
How to Prevent:
- 모든 광고된 기능이 완료된 후에만 제출하세요.
- 데모 계정에 전체 접근 권한이 있는지 확인하세요.
- 제출하기 전에 완성되지 않은 기능을 제거하거나 비활성화하세요.
- 현재 빌드와 정확히 일치하는 스크린샷으로 업데이트하세요.
3. 어린이 등급에 부적합한 콘텐츠
어떻게 발생하는가:
- 어린이 등급이 4+로 설정되어 있지만 앱에는 사회 기능이 포함되어 있습니다.
- 등급이 실제 콘텐츠와 일치하지 않습니다.
- 사용자 생성 콘텐츠가 미리 모드되지 않았습니다.
- 외부 콘텐츠의 링크
정확한 연령 등급 설정 방법:
iOS 연령 등급:
- 4+ (어떤 내용도 문제가 없음)
- 9+ (간간이 약한 내용)
- 12+ (중간 수준의 내용)
- 17+ (빈번하게/강한 내용)
안드로이드 콘텐츠 등급:
- 모든 이용자
- 10세 이상 모든 이용자
- 청소년
- 성인 17세 이상
- 만 18세 이상
중요: 사용자가 콘텐츠를 서로 공유할 수 있다면, 다음이 필요합니다:
- 콘텐츠 관리 시스템
- 신고/차단 기능
- rõ한 커뮤니티 지침
- 필요한 경우 나이 제한
4. 유도적 또는 허위 메타데이터
왜 발생하는가:
- 앱 이름이 제공하지 않는 기능을 약속한다
- 경쟁자 또는 모의 설계의 스크린샷
- 허위 리뷰 또는 평점 조작
- 설명에는 증명이 없는 최고의 표현이 포함되어 있습니다.
문제의 예시 메타데이터:
❌ BAD:
- 앱 이름: "최고의 피트니스 트래커 - #1 앱"
- 설명: "최대驚異적이고 혁신적인 앱이 만들어졌습니다!"
- 스크린샷: 일반적인 스톡 사진
✅ GOOD:
- 앱 이름: "FitTrack - 워크아웃 로거"
- 설명: "운동 루틴과 진행 차트를 커스터마이즈하여 운동 기록을 관리하세요."
- 스크린샷: 현재 빌드에서 실제 앱 화면
5. 충분한 테스트 부족 (특히 안드로이드 클로즈드 테스트)
이것이 왜 발생하는지:
- 14일간의 테스트 기간을 건너뛰다
- 테스터를 충분히 모집하지 않다
- 테스터가 실제로 앱을 사용하지 않는다
- 테스트 중에는 충돌 모니터링을 하지 않는다
예방하는 방법:
- 계획된 출시 3-4주 전에 테스터를 모집하기 시작한다
- 테스트 중 Firebase Crashlytics 또는 유사한 도구를 사용한다
- 테스터와 적극적으로 상호 작용한다 (설문, 피드백 양식)
- 판매에 승격하기 전에 심각한 문제를 해결한다
6. 권한이 없는 이유
왜 일어나는가:
- 위치 요청하지만 사용하지 않는다
- 카메라 권한 설명 없이
- 연락처 접근 권한 설명 없이
- 이동 중 위치 권한이 비 내비게이션 앱에
해결 방법:
iOS - Info.plist:
<key>NSCameraUsageDescription</key>
<string>Camera access is required to scan QR codes for quick login.</string>
<key>NSLocationWhenInUseUsageDescription</key>
<string>Location helps us show nearby fitness centers and outdoor running routes.</string>
<key>NSPhotoLibraryUsageDescription</key>
<string>Photo library access lets you upload a profile picture and share workout photos.</string>
Android - 권한 전략:
<!-- Only request what you actually need -->
<uses-permission android:name="android.permission.CAMERA" />
<!-- Use when-in-use rather than always for location -->
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<!-- Avoid if possible -->
<!-- <uses-permission android:name="android.permission.ACCESS_BACKGROUND_LOCATION" /> -->
런타임 권한 요청:
import { Camera } from '@capacitor/camera';
async function takePicture() {
// Request with context
const permissionStatus = await Camera.requestPermissions();
if (permissionStatus.camera === 'granted') {
const photo = await Camera.getPhoto({
quality: 90,
allowEditing: true,
resultType: 'uri'
});
return photo;
} else {
// Explain why permission is needed
showDialog(
'Camera access required',
'To upload a profile picture, please enable camera access in Settings.'
);
}
}
iOS-만족 요구 사항
앱 스토어 스크린샷 및 미리보기
필요한 크기:
- 6.7” 아이폰: 1290 x 2796
- 13” 아이패드: 2064 x 2752
- 12.9" iPad: 2048 x 2732
중요: 앱이 iPad을 지원한다면 iPad 스크린샷을 업로드해야 합니다. iPhone 스크린샷을 iPad 슬롯에 맞추지 마세요.
스크린샷 최적화:
- 실제 앱 콘텐츠를 보여야 합니다 (모의 테스트는 허용하지 않습니다)
- 상태바를 제거하거나 현실적인 콘텐츠를 보여야 합니다
- 모든 지원 언어에 맞게 지역화해야 합니다
- 텍스트 오버레이를 최소화해야 합니다
- 첫 2-3 스크린샷에서 주요 기능을 보여야 합니다
앱 스토어 연결 메타데이터 설정
제출하기 전에 다음 App Store Connect 필드를 완료해야 합니다:
- 개인 정보 정책 URL: iOS 앱에 필요합니다.
- 지원 URL: iOS 앱을 출시하기 위해 실제 연락처 정보로 연결되어야 합니다.
- 등급: 앱을 출시하기 위해 설문조사를 완료하세요.
- 앱 리뷰 정보: 리뷰 팀에 연락처, 로그인 필요 시 demo 인증 정보, 리뷰 노트를 추가하세요.
- 수출 규정: 암호화에 대한 질문에 답변하거나 설정하세요.
ITSAppUsesNonExemptEncryptioninInfo.plistin
적절히 설정하세요.
제품 리뷰를 위해 실제 테스트 플라이트를 한 번 진행하세요.
- 테스트 플라이트에서 정확한 빌드를 설치하세요.
- 리뷰를 제공할 계정과 동일한 계정으로 로그인하세요.
- 구매, 복원, 취소 경로를 Walk-through 하세요.
- 리뷰어는 숨겨진 설정 없이 주요 기능에 접근할 수 있는지 확인하세요.
- iPhone과 iPad 모두 지원하는 경우 iPhone과 iPad에서 테스트하세요.
앱 프리뷰 비디오 (선택적이지만 권장)
요구 사항:
- 15-30초 길이
- 실제 앱 동영상만 보여주세요.
- 간단한 텍스트 오버레이 포함 가능
- 저작권 문제가 있는 음악은 사용하지 마세요.
- 스크린샷과 동일한 해상도
애플 로그인 구현
이미 위에 설명했지만 iOS 리뷰에 중요합니다. 사회 로그인 사용 시.
인앱 구매 요구 사항
디지털 상품이나 서비스를 제공하는 경우:
필수적인 고지:
- 구매 전에 명확한 가격
- 구독 약관이 명확하게 표기
- 취소 방법이 표시
- 구매 복원 버튼
예시로 구독이 준수한 화면:
function SubscriptionOffer() {
return (
<div className="subscription-screen">
<h2>Choose Your Plan</h2>
<PlanCard>
<h3>Monthly</h3>
<p className="price">$9.99/month</p>
<ul>
<li>Unlimited workouts</li>
<li>Personalized plans</li>
<li>Progress tracking</li>
</ul>
<button>Subscribe</button>
</PlanCard>
<PlanCard>
<h3>Annual</h3>
<p className="price">$79.99/year</p>
<p className="savings">Save 33%</p>
<ul>
<li>Everything in Monthly</li>
<li>Priority support</li>
</ul>
<button>Subscribe</button>
</PlanCard>
<div className="subscription-terms">
<p>
Subscription automatically renews unless cancelled at least
24 hours before the end of the current period. Manage your
subscription in Settings.
</p>
<button onClick={restorePurchases}>Restore Purchases</button>
</div>
<div className="legal-links">
<a href="/privacy/">Privacy Policy</a> |
<a href="/terms">Terms of Service</a>
</div>
</div>
);
}
안드로이드 전용 요구 사항
Google Play Console 계정 설정
첫 번째 안드로이드 릴리스 전에 Play Console 계정과 앱 쉘이 존재하는지 확인하세요:
- 개발자 계정을 생성하세요 Play Console 가입
- Play Console에서 홈 > 앱 만들기
- 기본 언어, 앱/게임 종류, 지원 이메일을 선택하세요
- 필요한 Play 정책, 수출, Play 앱 서명 선언을 수락하세요
- 앱이 무료 또는 유료
중요: 구글은 유료 앱을 무료로 변경할 수 있지만, 앱이 무료로 제공된 후에는 유료로 변경할 수 없습니다.
앱 번들 요구 사항
중요: 구글 플레이는 Android 앱 번들 (.aab) 형식이 아닌 APK를 요구합니다.
# Sync the native Android project first
bunx cap sync android
# Then build the release app bundle
cd android
./gradlew bundleRelease
목표 API 레벨 요구 사항
현재 요구 사항: 새로운 앱 및 앱 업데이트는 Android 15 (API 레벨 35) 이상을 대상으로해야합니다.
android/app/build.gradle에 업데이트:
android {
compileSdkVersion 35
defaultConfig {
targetSdkVersion 35
minSdkVersion 23 // Minimum supported version
}
}
구글 플레이 데이터 안전
이미 위에 설명되어 있지만, Android 승인에 절대적으로 중요합니다.
폐쇄 테스트 트랙 (현재 요구 사항)
이것은 새로 생성된 개인 개발자 계정에 대한 큰 일입니다: 이 가이드의 이전 부분에서 자세히 설명한 12 개의 테스터, 14 일의 요구 사항입니다.
타임라인:
- 주 1: 테스터를 모집하고 폐쇄 테스트를 설정
- 주 2-3: 활성 테스트 기간 (14 일 이상)
- 주 4: 문제를 해결하고 프로덕션 릴리즈를 준비
- 주 5: 프로덕션 리뷰를 제출
대상 청중 및 콘텐츠 등급
콘텐츠 등급 설문조사:
- 모든 앱에 필요
- 10-15 분 정도 소요
- 콘텐츠 등급 (모두, 청소년, 성인 등)을 결정
- 콘텐츠가 답변에 영향을 미치는 경우 콘텐츠가 변경될 때마다 업데이트하십시오.
주제:
- 폭력
- 성적 내용
- 비속어
- 제어 약물
- 카지노
- 사용자 상호 작용 기능
중요사용자 생성 콘텐츠 또는 소셜 기능이 있는 경우, 이를 공개하고 모니터링을 구현해야 합니다.
스토어 목록 요구 사항
필수 자산:
- 앱 아이콘 (512 x 512 PNG)
- 기능 그래픽 (1024 x 500 JPG 또는 PNG)
- 폰 스크린샷 (최소 2개, 최대 8개)
- 7인치 태블릿 스크린샷 (선택 사항)
- 10인치 태블릿 스크린샷 (선택 사항)
설명 요구 사항:
- 짧은 설명 (80자 이내)
- 전체 설명 (4000자 이내)
- 앱 기능을 정확하게 설명해야 함
- 연락처 정보 또는 가격을 포함할 수 없음
제출 전 체크리스트
제출하기 전에 이 포괄적인 체크리스트를 확인하세요
기술 요구 사항
- 실기 장치에서 앱이 성공적으로 시작됩니다.
- 스크린샷에 표시된 모든 기능이 작동합니다.
- 장치나 “곧 출시됩니다.” 콘텐츠가 없는 경우
- API 키의 모든 3rd 파티 키가 프로덕션 키입니다.
- 네트워크 오류 처리가 구현되었습니다.
- 권한 요청에 명확한 설명이 포함됩니다.
- 네트워크 조건이 좋지 않은 경우 앱이 충돌하지 않습니다.
- 권한이 거부된 경우 테스트되었습니다.
- 최소 지원 OS 버전에서 테스트되었습니다.
- 메모리 누수가 확인되고 수정되었습니다.
인증 및 로그인
- 소셜 로그인 사용하는 경우, iOS에서 Sign in with Apple이 포함됩니다.
- Demo 계정 인증 정보는 검토 노트에 제공됩니다.
- Demo 계정은 모든 기능에 접근할 수 있습니다.
- 비밀번호 재설정 흐름이 작동합니다.
- 로그아웃 기능이 올바르게 작동합니다.
- GDPR/CCPA에 따라 삭제 옵션이 제공됩니다.
법적 및 개인 정보
- 개인 정보 정책이 공개적으로 접근할 수 있습니다.
- 앱 스토어 목록에 개인 정보 정책 URL이 추가되었습니다.
- 서비스 약관이 공개적으로 접근할 수 있습니다 (적용 시).
- 개인 정보 정책이 앱 내 설정 화면에 연결됩니다.
- iOS 개인 정보 영양 표가 정확합니다.
- 안드로이드 데이터 안전 섹션 완료
- 모든 데이터 수집 목적이 설명됨
- Third-party SDK data collection disclosed
콘텐츠 & 메타데이터
- 앱 이름은 지침을 따릅니다 (키워드 스태킹 없음)
- 설명은 실제 기능을 설명합니다
- 스크린샷은 실제 현재 앱 화면을 보여줍니다
- 스크린샷은 모든 지원 언어에 맞춰져 있습니다
- 경쟁사 언급이 없는 설명
- 증명이 없는 초상권 없음
- 내용의 실제 연령 등급이 맞춰짐
- 문의 이메일이 모니터링됩니다
iOS 전용
- 애플 로그인 구현 (사회 로그인 사용 시)
- 모든 필수 스크린샷 크기 제공
- 아이패드 지원이 활성화된 경우 실제 아이패드 스크린샷 업로드
- Info.plist 권한 설명이 명확함
- 실제 연락처가 포함된 지원 URL 추가
- 앱 스토어 연결에 개인 정보 보호 정책 URL 추가
- 연령 등급 설문조사 완료
- 수출 규정에 대한 올바른 답변
- 앱 리뷰 연락처 및 비만료 데모 계정 제공
- iOS 15.0 이상으로 대상 설정
- IAP 사용 시: 가격 명확, 복원 구매 버튼 존재
- 안드로이드 또는 다른 플랫폼에 대한 참조 없음
안드로이드 전용
- 앱 번들 (.aab) 형식 사용
- API 35 이상 대상
- 콘텐츠 등급 설문조사 완료
- 기능 그래픽 업로드
- 테스트가 완료되면 Play 콘솔 계정에 따라 폐쇄 테스트가 완료됩니다 (12 명의 테스터, 14 일)
- 테스트 중 발생한 충돌 보고서 검토 및 수정
- iOS 또는 다른 플랫폼에 대한 참조 없음
테스트 (안드로이드 현재 요구 사항)
- Play 계정에 폐쇄 테스트가 필요하면 12 명 이상의 테스터를 모집
- 폐쇄 테스트 트랙 생성
- 14 일 연속 테스트 완료
- 테스터들이 실제로 앱을 사용했는지 (설치만 한 것만)
- 테스트 중에 충돌 모니터링이 활성화되었습니다
- 테스트 중 발견된 심각한 버그가 수정되었습니다
- 테스터들의 피드백이 문서화되었습니다
리뷰 노트: 포함해야 할 내용
리뷰 노트가 완벽할 경우 즉시 승인과 거부의 차이를 만들 수 있습니다. 여기서 포함해야 할 내용을 알려드리겠습니다.
리뷰 노트 템플릿
APP REVIEW INFORMATION
=== Test Account ===
Email: reviewer@testapp.com
Password: TestReview123!
(This account has all premium features enabled)
(This account stays active during review)
=== Review Contact ===
Name: Jane Developer
Email: review@yourapp.com
Phone: +1 555-0100
=== Testing Instructions ===
1. Launch app and tap "Sign In"
2. Enter test credentials above
3. Navigate to "Dashboard" to see main features
4. Tap "Upgrade" to test subscription flow (sandbox mode)
5. Go to Settings > Account to see privacy policy and terms
=== Key Features to Test ===
- Workout tracking (tap "New Workout" on Dashboard)
- Progress charts (Analytics tab)
- Social sharing (Share button on workout details)
- Camera upload for profile picture (Settings > Profile)
=== Third-Party Services ===
- Firebase Authentication (for login)
- Stripe (for payments - sandbox mode)
- AWS S3 (for image uploads)
- Google Maps SDK (for location features)
=== Notes ===
- Location permission is optional, app works without it
- Camera permission only requested when uploading profile picture
- All subscription flows use Apple/Google sandbox environments
- Background location is not used
- Support URL and privacy policy are available from Settings > Account
=== Contact ===
For questions: developer@yourapp.com
Response time: Within 24 hours
iOS 전용 리뷰 노트
iOS의 경우에도 포함해야 할 내용이 있습니다.
=== Device Coverage ===
Tested on: iPhone 15 Pro Max, iPad Pro 13-inch
=== App Store Connect Metadata ===
Support URL: https://yourapp.com/support
Privacy Policy: https://yourapp.com/privacy-policy
=== Submission Notes ===
- iPad screenshots match the current iPad UI
- Export compliance answered for this build
- Sign in with Apple is available on the login screen
Android 전용 리뷰 노트
Android의 경우에도 포함해야 할 내용이 있습니다.
=== Testing Track Information ===
Closed testing period: [Start Date] to [End Date]
Number of active testers: 23
Critical issues found during testing: 2 (both fixed)
Test distribution method: Email invite list
=== Crash Data ===
Testing period crashes: 3 total
Crash rate: 0.8%
All crashes fixed in this build
=== API Levels ===
Target SDK: 35 (Android 15)
Min SDK: 23 (Android 6.0)
Tested on: Android 11, 12, 13, 14, 15
거부된 경우 할 수 있는 일
위기 상황에 빠지지 마세요 -첫 번째 제출에 대한 거부는 흔한 일입니다. 특히.
거부 후에 수행할 단계
-
거부를 신중히 읽어라
- 특정 지침을 위반한 구체적인 지침을 기록하십시오 (예: 4.3, 5.1.1)
- 리뷰어의 댓글을 철저히 읽어라
- 제공된 스크린샷을 찾으세요
-
이ssue를 이해하라
- 공식 문서에서 지침을 찾아라
- 온라인에서 유사한 사례를 검색하라
- 잘못된 이해인지 또는 실제 문제인지 확인하라
-
원인에 대한 해결책을 찾으세요
- 단순히 패치하지 말라 - 올바르게 고쳐라
- 테스트를 철저히 진행하세요
- 변경한 내용을 문서화하세요
-
적절하게 대응하세요
반려가 정확하다면:
Thank you for the feedback. I have addressed the issue: Issue: Missing Sign in with Apple option Resolution: Added Sign in with Apple as a login option alongside Google Sign-In. The button appears on the login screen and follows Apple's design guidelines. You can test with the provided demo account or by creating a new account with Apple Sign-In. Changes made in: v1.0.1 (build 2)반려가 이해되지 않는다면:
Thank you for reviewing my app. I believe there may be a misunderstanding regarding [specific issue]: [Explain clearly with screenshots if needed] The functionality exists at: Settings > [specific location] I've added additional detail to the review notes to help locate this feature. -
빠르게 재제출하세요
- 재제출은 일반적으로 24-48시간 내로 처리됩니다
- 업데이트된 리뷰 노트를 포함하여 수정 내용을 설명하세요
- 이전 제출과 관련하여 도움이 될 수 있는 경우 이전 제출을 참조하세요
일반적인 반려 응답
반려: '앱이 런칭 시 충돌합니다'
응답:
I sincerely apologize for the crash. I have identified and fixed
the issue:
Root cause: The app attempted to fetch data before network
initialization completed, causing a null reference exception.
Fix: Implemented proper async initialization with error handling
and offline mode. The app now gracefully handles network issues.
Testing: Verified on iPhone 12 (iOS 17), iPhone 14 Pro (iOS 17.1),
tested with WiFi, cellular, and airplane mode.
Build version: 1.0.2 (build 3)
반려: "개인 정보 정책 미흡"
응답:
Thank you for the feedback. I have added the privacy policy:
URL: https://myapp.com/privacy-policy
Location in app: Settings > Privacy Policy (tappable link)
Also added to: App Store Connect > App Information > Privacy Policy URL
The privacy policy covers all data collection as disclosed in the
Privacy Nutrition Labels.
반려: "4.2 - 최소 기능성 미준수"
이건 더 어려운 문제입니다. 앱으로 승인받으려면 앱이 해야 할 최소한의 기능을 수행하지 않습니다. 응답:
Thank you for the feedback. I'd like to clarify the app's
functionality:
Core Features:
1. [Feature 1 with specific details]
2. [Feature 2 with specific details]
3. [Feature 3 with specific details]
The app provides significant utility beyond a simple website by:
- Offline functionality for [specific feature]
- Native camera integration for [specific feature]
- Push notifications for [specific feature]
- Device hardware access for [specific feature]
Test account credentials have been provided to demonstrate all
features. Please let me know if you need additional clarification.
승인 후 최적화 방법
축하합니다! 앱이 승인되었습니다. 그 상태를 유지하는 방법을 알려드리겠습니다.
런칭 후 모니터링
관심 있어야 하는 주요 지표:
- 크래시율 (1% 이하로 유지)
- ANR율 (안드로이드 - 0.5% 이하로 유지)
- 앱 스토어/플레이 스토어 평점
- 리뷰 내용 (모든 리뷰에 응답)
- 사용자 보고한 버그
사용하는 도구:
- Firebase Crashlytics
- App Store Connect 분석
- Google Play Console 비타
- Sentry 또는 유사한 오류 추적
업데이트 지침
업데이트 제출 시:
- 초기 제출과 마찬가지로 철저히 테스트
- UI가 크게 변경된 경우 스크린샷 업데이트
- 데이터 수집이 변경된 경우 개인 정보 레이블 업데이트
- 명확한 '새로운 기능' 설명 제공
- 주요 변경 사항에 대한 단계적 롤아웃을 고려하십시오.
준수 유지
연간 요구 사항:
- Android 콘텐츠 등급 갱신 (매년 갱신 필요)
- 실천 방식이 변경되면 개인 정보 보호 정책을 갱신하십시오.
- 콘텐츠가 변경되면 연령 등급을 갱신하고 검토하십시오.
- 준수에 대한 세 번째 파티 SDK를 감사하십시오.
연속적인 모니터링:
- 지침 변경 사항에 대한 최신 정보 유지
- 애플/구글 개발자 뉴스레터에 가입하십시오.
- 개발자 커뮤니티에 참여하십시오.
- 앱 스토어/플레이 스토어 정책 블로그를 따르십시오.
자원 및 추가 자료
공식 문서
애플:
구글:
커뮤니티 리소스
- 안드로이드 개발자 - 안드로이드 개발자 커뮤니티
- iOS 프로그래밍 - iOS 개발자 커뮤니티
- Stack Overflow - 기술 질문
- 독립 개발자 - 독립 개발자 커뮤니티
개인 정보 보호 정책 도구
앱 리뷰에 도움이 필요합니까?
앱 리뷰에 대한 첫 번째 성공을 보장하기 위해 전문가의 도움을 원하거나 압도당하지 않으시다면, 저희가 도와드리겠습니다!
저희 팀과 상담 전화 예약 개인화된 도움을 위해:
- 앱 스토어 및 플레이 스토어 리뷰 준비
- 개인 정보 보호 정책 및 법적 문서 검토
- 애플 로그인 구현
- 테스트 전략 및 테스터 모집
- 리뷰 노트 준비
- 반려 응답 및 항소
- 완전한 앱 제출 프로세스
Capgo의 팀은 수백 명의 개발자가 앱 리뷰 프로세스를 성공적으로 관리하는 데 도움을 주었으며, 여러분의 주말을 절약할 수 있습니다.
결론
첫 번째 앱을 제출하는 것은 두려울 수 있지만, 적절한 준비가 있으면 첫 번째 시도에서 리뷰를 통과할 수 있습니다. 다음의 중요한 점을 기억하세요:
- 시작하기: 특히 안드로이드 - 12명의 테스터를 최소 3주 전에 계획된 출시일 전에 모집하세요.
- 개인 정보 우선: 개인 정보 정책이 준비되어 있어야 하며, 데이터 처리 방침이 정확하게 반영되어야 합니다.
- 애플 로그인: iOS에서 social 로그인을 사용하는 경우, Sign in with Apple을 포함해야 합니다.
- 테스트하기: 실제 장치에서 테스트하고, 네트워크가 좋지 않은 경우 테스트하고, 권한이 거부된 경우 테스트하세요.
- 진실되게: 정확한 메타데이터 및 개인 정보 공개는 거부와 법적 문제를 방지합니다.
- 상세한 리뷰 노트: 리뷰어들이 앱을 빠르게 이해할 수 있도록 도와줍니다.
현재 안드로이드 테스트 요구 사항은 프로세스를 더 오래 지속하지만, 결국은 더 나은 앱과 출시 후 문제가 적은 앱으로 이어집니다. 안드로이드 제출에 3-4주 더 계획을 세우면 성공을 위한 좋은 입지를 만들 수 있습니다.
앱 출시를 위한 좋은 행운을 빕니다! 심지어 거부를 받더라도, 그것은 학습의 기회입니다. 성공적인 앱은 대부분 리뷰 단계를 여러 번 거치며 승인되기까지 가야 합니다.
혼자 가고 싶지 않다면? 상담을 예약하세요. 우리의 전문가들이 프로세스를 안내해 줄 수 있도록 해보세요.
승인된 앱에 대해 라이브 업데이트 구현을 도와줄 필요가 있다면? Capgo의 live update 솔루션을 확인하세요. __CAPGO_KEEP_0__’s __CAPGO_KEEP_1__ solution
더 읽기 - The Complete First-Time App Review Guide for 2026 - iOS and Android
If you are using Capgo. 2026년 iOS 및 Android을 위한 완전한 첫 번째 앱 리뷰 가이드 계획 보안 및 규정 준수에 사용 암호화 암호화 구현 세부 정보에 규정 준수 규정 준수 구현 세부 정보에 Capgo 보안 스캐너 Capgo 보안 스캐너의 제품 워크플로에 Capgo 보안 Capgo 보안의 제품 워크플로에 Capgo 신뢰 센터 Capgo 제품 워크플로우에 대한 Capgo 신뢰 센터에서.