본 콘텐츠로 바로 가기

2026년 iOS 및 Android 앱 리뷰 완전 가이드

첫 번째 앱 개발자들을 위한 앱 스토어와 플레이 스토어 리뷰 통과 가이드, 로그인 요구 사항, 개인 정보 보호 정책 및 현재 구글 플레이 테스트 요구 사항을 포함한 포괄적인 가이드입니다.

기사 기여

마틴 도나디유

작가

발레리아

리뷰어

조던

편집자

2026년 iOS 및 Android용 완전한 첫 번째 앱 리뷰 가이드

2026년 앱 스토어 또는 플레이 스토어에 첫 번째 앱을 제출하는 것은 압도적으로 느껴질 수 있습니다. 지속적으로 진화하는 지침과 2026년 stricter 집행으로 인해 앱을 승인하기 위해서는 세부 사항에 대한 주의가 필요합니다. 이 포괄적인 가이드는 iOS 및 Android 플랫폼의 첫 번째 제출에 대한 리뷰를 통과하기 위해 필요한 모든 것을 안내합니다.

2026년 리뷰 프로세스 이해

애플과 구글은 최근 몇 년 동안 리뷰 프로세스를 엄격하게 강화했으며, 특히 개인 정보, 보안 및 사용자 경험에 중점을 두었습니다. 첫 번째 개발자에게 이러한 변경 사항을 이해하는 것은 중요합니다.

iOS 앱 스토어 리뷰 타임라인

  • 표준 리뷰: 24-48 시간
  • 피크 기간: 3-5 일 (특히 휴일 시즌)
  • 주말: 리뷰가 처리되지 않습니다
  • 급속 검토: 심각한 버그 수정을 위해 요청해야 함 (App Store Connect를 통해)

전문 팁: 주중(월요일-화요일)에 제출하여 주말 지연을 피하세요. 월요일 제출은 수요일에 검토됩니다.

App Store Connect 상태

  • 제출 준비: 빌드 또는 메타데이터가 준비 중입니다.
  • 검토 대기: 애플이 제출을 큐에 넣었습니다.
  • 검토 중: 검토 팀이 앱을 활발하게 확인하고 있습니다.
  • 개발자 릴리스 대기: 승인되었습니다. 그러나 수동으로 앱을 출시하기 위해 기다리고 있습니다.
  • 거부 / 해결되지 않은 문제: 애플이 승인하기 전에 변경이 필요합니다.

구글 플레이 스토어 리뷰 타임라인 (2026 업데이트)

  • 초기 리뷰: 3-7 일 (이전 년도보다 훨씬 더 길다)
  • 테스트 게이트 폐쇄: 새로운 개인 플레이 콘솔 계정에 영향을 받는 경우 최소 14 일 이상 테스트 접근을 요청하기 전에 완료됩니다.
  • 테스트 후 생산 리뷰: 테스트 요구 사항이 완료된 후 일반적으로 3-7 일 후
  • 기존 앱 업데이트: 1-3 일
  • 정책 위반: 추가 검토가 트리거되면 14일 이상까지 확장할 수 있습니다

중요 업데이트: Google은 일부 새로운 Play Console 계정에 대해 훨씬 더 엄격한 테스트를 요구하기 때문에 이에 대한 자세한 내용은 아래에서 다룹니다.

애플 개발자 계정 설정

첫 번째 iOS 릴리즈 전에 애플 쪽이 올바르게 설정되어 있는지 확인하세요:

  • 애플 개발자 프로그램에 가입하세요 애플 계정에 사용된 가입을 위한 두 단계 인증을 활성화하세요
  • 적절한 회원 유형을 선택하세요:
  • 개인 / 단독 사업주
    • : 판매자 이름은 앱 스토어에서 법적 개인 이름이 됩니다.: your legal personal name becomes the seller name on the App Store
    • 기업 조직: 기업을 등록하기 위해서는 법적 엔터티, D-U-N-S 번호, 공개 웹사이트, 그리고 Apple의 계약에 회사에 대한 권한을 부여할 수 있는 사람의 필요성이 있습니다.
  • 등록 시 법적 이름을 사용하세요. 첫/마지막 이름 필드에_alias 또는 회사 이름을 사용하면 승인 지연이 발생할 수 있습니다.
  • 등록 승인이 완료되면 App Store Connect에 로그인하여 앱 레코드를 생성하세요. 최종 번들 ID, 앱 이름, SKU, 및 기본 언어를 사용하세요.

Apple Developer Program 등록 페이지

웹에서 Apple 등록 계속하기

적절한 Apple Developer 엔터티 유형 선택

중요: Apple은 시간에 따라 최소 SDK 요구 사항을 변경할 수 있습니다. 2026년 4월 28일부터 App Store Connect에 업로드된 앱은 iOS & iPadOS 26 SDK 이상을 사용해야 합니다. 2026년 4월 28일iOS & iPadOS 26 __CAPGO_KEEP_0__ 이상 iOS & iPadOS 26 SDK or later.

Android 테스트의 가장 중요한 요구 사항

대부분의 첫 번째 Android 퍼블리셔를 놀라게 하는 변경 사항입니다:

새로운 개인 Android 계정에 대한 12 명의 테스터 요구 사항

Google Play 개발자 계정이면 2023 년 11 월 13 일 이후에 생성된 개인 계정그 경우 앱이 생산 준비가 될 수 있도록 하려면, 닫힌 테스트 기간을 완료해야 합니다:

요구 사항:

  • 최소 12 명의 테스터최소 12 명의 테스터를 최소 14 일 동안 닫힌 테스트 기간 동안 최소 14 일 동안 앱을 테스트해야 합니다.
  • 14 일간의 테스트 기간14 일 동안 닫힌 테스트 기간 동안 앱이 최소 14 일 동안 테스트해야 합니다.
  • 제작 액세스 신청: 테스트 기간이 끝난 후, Google Play Console에서 프로덕션 접근을 신청해야 합니다.
  • Feedback Collection: 발견한 문제, 수정한 내용, 테스터가 앱을 사용한 방법을 문서화해야 합니다.

테스트 트랙 설정 방법

  1. 테스트 트랙 만들기

    • Google Play Console로 이동
    • 테스트 및 출시 > 테스트 > 폐쇄 테스트로 이동
    • 폐쇄 테스트 트랙에서 새로운 릴리즈를 생성
    • 폐쇄 테스트 트랙에서 앱을 업로드.aab)
  2. 테스터 모집

    테스터를 찾는 곳:

    • 친구와 가족 (가장 쉬운 시작점)
    • 개발자 커뮤니티 (Reddit의 /r/androiddev, /r/betatests)
    • 소셜 미디어 팔로워
    • 베타 테스트 플랫폼 (BetaList, BetaTesting.com)
    • 대학 학생 (연결이 있다면)

    중요: 테스터가:

    • 유효한 Gmail 계정이 있어야 합니다
    • 실제로 안드로이드 기기를 사용해야 합니다
    • 14일 동안 전체 기간 동안 옵트인 상태를 유지해야 합니다
  3. 테스터 초대

    • Play Console에서 테스터 목록을 만듭니다
    • 테스터 이메일 주소를 추가합니다
    • 테스터에게 옵트인 URL을 공유하세요
    • 설치 및 앱을 사용하도록 테스터에게 알리세요
  4. 테스트 활동 모니터링

    • 설치 수를 확인하기 위해 Play 콘솔을 확인하세요
    • ANR (응답하지 않는 앱) 및 충돌 보고서를 추적하세요
    • 테스터로부터 피드백을 수집하세요
    • 프로모션 전에 심각한 문제를 해결하세요
  5. 프로모션

    • 14일 동안 12명 이상의 옵트인 테스터가 있으면
    • Play 콘솔 대시보드에서 프로덕션 액세스 신청
    • 모든 충돌 보고서 및 피드백을 검토하세요
    • 최종 검토를 위해 프로덕션 릴리즈를 생성하고 제출하세요

구글이 이 기능을 왜 구현했나

구글은 이 요구 사항을 다음과 같이 제시했습니다:

  • 저품질 앱 스팸을 줄이기 위해
  • 사용자에게 앱이 적절히 테스트된 상태로 제공되도록 보장하기 위해
  • 실제 사용 패턴을 통해 악성 앱을 식별하기 위해
  • 플레이 스토어의 전체 품질을 향상하기 위해

현실적인 점검: 이 기능을 추가하면 최소 2-3주가 출시 일정에 추가됩니다. 계획을 세우고 테스터를 조기에 모집하세요.

인증 및 로그인 요구 사항

인증 시스템의 적절한 구현이 부족한 경우 가장 흔한 거절 사유입니다. 특히 소셜 로그인

애플 신원 인증 요구 사항 (iOS용 필수)

애플의 규칙: 앱이 Google, Facebook, Twitter 등第三자 소셜 로그인 옵션을 제공한다면, must 도 Apple 로그인 옵션을 제공해야 합니다.

이 규칙은 :

  • Google Sign-In
  • Facebook Login
  • Twitter/X Login
  • LinkedIn Login
  • 기타第三자 인증 서비스

이 규칙은 :

  • 이메일/비밀번호만 사용하는 인증
  • 정부 ID 시스템
  • 기업 SSO 시스템 (기업에 특화된 앱일 때)
  • 교육 제공자 인증 시스템

애플과 함께 로그인 구현

사회 로그인 사용 중이라면, 다음을 implement해야 합니다:

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);
  }
}

중요한 고려 사항:

  1. 이메일 개인 정보 보호: 사용자는 이메일을 숨길 수 있습니다. 애플은 사설 전송 이메일 (예를 들어, )을 제공합니다. abc123@privaterelay.appleid.com첫 번째 사용자 vs 반복 사용자

  2. : 애플은 사용자 정보 (이름, 이메일)만 제공합니다. 첫 번째 인증 후, 이 정보를 저장해야 합니다. 이후 로그인 시 이 정보가 포함되지 않습니다.버튼 디자인

  3. : 애플은 Sign in with Apple 버튼에 대한 엄격한 디자인 가이드라인을 제공합니다. 공식 자산을 사용하세요.: Apple provides strict design guidelines for the Sign in with Apple button. Use their official assets.

  4. 백엔드 인증: 백엔드 서버에서 항상 사용자 식별 토큰을 확인하고 클라이언트 측 토큰만 신뢰하지 마십시오.

안드로이드 소셜 로그인 요구 사항

안드로이드는 iOS와 달리 특정 제공자를 요구하지 않지만 Google은 다음의 지침을 제공합니다:

Google Sign-In 요구 사항:

  • Google Sign-In SDK을 사용해야 합니다.
  • Google의 브랜딩 지침을 따르야 합니다.
  • 사용자가 제공하는 경우 기본 로그인 옵션으로 제공해야 합니다.

플랫폼 간 최선의 관행:

  • 모바일 플랫폼 간 일관성을 위해 동일한 로그인 옵션을 제공해야 합니다.
  • 이메일/패스워드 로그인
  • 구글로 로그인하세요
  • 다른 소셜 옵션 (페이스북, 트위터 등)

데모 계정 요구 사항

리뷰에 중요합니다: 만약 앱이 로그인 요구를 하는 경우, 해야합니다 작동하는 데모 계정 정보를 App Review Notes에 제공해야합니다.

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

일반적인 실수:

  • 만료된 계정 정보 제공
  • 데모 계정이 모든 기능에 접근할 수 없음
  • 휴대폰 인증을 우회하는 방법을 언급하지 않음
  • 샌드박스 결제 세부 정보를 언급하지 않음

현재 두 개의 앱 스토어는 접근 가능한 개인 정보 보호 정책 및 서비스 약관을 요구합니다. 앞서 앱 스토어에서 앱을 등록하기 전에

첫 번째 제출이 승인됩니다.

개인 정보 보호 정책 요구 사항

  1. 개인 정보 보호 정책은 다음과 같이 구성되어야 합니다.

    • 공개적으로 접근할 수 있어야 합니다.
    • 로그인 없이 공개 URL에 호스팅되어야 합니다.
    • 표준 웹 브라우저에서 로드할 수 있어야 합니다.
  2. 앱의 언어와 동일한 언어로 제공되어야 합니다.:

    • 다음 필수 주제를 포함해야 합니다.
    • How you use the collected data
    • Third-party data sharing
    • How long data is stored
    • User rights (access, deletion, portability)
    • 개인정보 보호 문의에 대한 연락처
    • 어린이 개인정보 보호 (13세 미만 사용자용 앱)
  3. 링크드 인 앱 내에서 연결

    • 설정 또는 계정 화면에서 접근 가능
    • 메뉴에 묻지 않고 한 번 클릭으로 접근 가능
    • 기본 브라우저 또는 앱 내 브라우저에서 열어야 함

개인정보 보호 정책을 호스팅하는 곳

Option 1: Your Website (권장)

https://yourapp.com/privacy-policy
https://yourapp.com/terms-of-service

Option 2: GitHub Pages (무료)

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는 거부될 것입니다
  • 앱 스토어 페이지에 표시될 것입니다
  • 사용자에게 실제 연락처를 제공하는 지원 URL을 추가하십시오
  • 제출 전에 나이 등급 설문조사를 완료하십시오

Android - 구글 플레이 콘솔:

  • 스토어 존재 > 스토어 설정 > 개인 정보 정책
  • 아동을 대상으로 하는 모든 앱에 필수
  • 아동을 대상으로 하는 모든 앱에 강력히 권장

Privay Label (iOS)

iOS는 “nutrition label” 형식의 세부적인 privay disclosure를 요구합니다.

declare해야 하는 카테고리:

  • 연락처이메일, 이름, 전화번호
  • 금융 정보결제 정보, 신용 카드, 은행 계좌
  • 위치정확한 위치 또는 대략적인 위치
  • 사용자 콘텐츠사진, 비디오, 음성, 메시지
  • 식별자: 사용자 ID, 기기 ID, 광고 ID
  • 사용 데이터: 제품 상호 작용, 광고 데이터, 충돌 로그
  • 디아그노스틱스: 충돌 데이터, 성능 데이터

각 데이터 유형에 대해 명시하세요:

  • 수집 여부
  • 사용자 식별 정보와 연결 여부
  • 추적을 위한 사용 여부
  • 수집 목적

일반적인 실수: 자신의 분석 SDK가 데이터를 수집하지 않는다고 말하는 것. 모든第三자 SDK를 데이터 수집에 대한 감사 진행하세요.

Google Play 데이터 안전 섹션

iOS와 유사하게, Android는 데이터 안전 선언이 필요합니다:

단계:

  1. Play 콘솔 &gt; 앱 콘텐츠 &gt; 데이터 안전으로 이동
  2. 데이터 수집에 대한 질문에 답변
  3. 수집되는 데이터 유형을 지정
  4. 암호화 등 보안 관행을 설명
  5. 개인 정보 보호 정책 링크 제공

중요: 이 정보는 법적으로 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 개의 모델)
  • 네트워크가 느린 경우 테스트 (네트워크 링크 조건자 사용)
  • 비행 모드에서 테스트
  • 권한이 거부된 경우 테스트
  • 새로운 설치 테스트 (캐시된 데이터가 없음)

2. 핵심 기능이 누락되거나 깨져 있습니다.

왜 이러는지:

  • 스크린샷에 보여지는 기능이 아직 존재하지 않습니다.
  • 광고된 기능에 접근할 수 없는 데모 계정이 있습니다.
  • Premium 기능이 보여지지만 구현되지 않았습니다.
  • “Coming Soon” placeholders in the app

이러한 문제를 피하는 방법:

  • 모든 광고된 기능이 완성된 후에만 제출하세요.
  • 데모 계정이 광고된 기능에 접근할 수 있도록 하세요.
  • 제출하기 전에 완성되지 않은 기능을 제거하거나 비활성화하세요.
  • 현재 빌드와 정확히 일치하는 스크린샷으로 업데이트하세요.

3. 어린이 등급에 맞지 않는 콘텐츠

왜 이러는가:

  • 4세 이상 등급이 설정되어 있지만 앱에는 사회적 기능이 포함되어 있습니다
  • 등급이 실제 콘텐츠와 일치하지 않습니다
  • 수정되지 않은 사용자 생성 콘텐츠
  • 수정되지 않은 외부 콘텐츠에 대한 링크

정확한 등급을 설정하는 방법:

iOS 등급:

  • 4세 이상 (objectionable 콘텐츠 없음)
  • 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>

안드로이드 - 권한 전략:

<!-- 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-Specific Requirements

App Store 스크린샷 및 미리보기

필요한 크기:

  • 6.7" iPhone: 1290 x 2796
  • 13" iPad: 2064 x 2752
  • 12.9" iPad: 2048 x 2732

중요: iPad을 지원하는 앱이라면 iPad 스크린샷을 업로드해야 합니다. iPhone 스크린샷을 iPad 슬롯에 맞추지 마세요.

스크린샷 최적화:

  • 실제 앱 콘텐츠를 보여야 합니다 (모의 콘텐츠는 안됩니다)
  • 상태바를 제거하거나 현실적인 콘텐츠를 보여야 합니다
  • 지원하는 모든 언어로 지역화해야 합니다
  • 텍스트 오버레이를 과도하게 피하십시오
  • 첫 2-3 스크린샷에서 주요 기능을 보여주십시오

앱 스토어 연결 메타데이터 설정

제출 전에 다음 앱 스토어 연결 필드를 완료하십시오:

  • 개인 정보 보호 정책 URL: iOS 앱에 필수입니다
  • 지원 URL: 실제 연락처 정보로 연결되어야 하며 필수입니다
  • 연령 등급: 앱을 출시하기 위해 설문조사를 완료하십시오
  • 앱 리뷰 정보: 리뷰 팀에게 명확한 설명과 로그인 필요 시 demo 인증 정보를 포함하여 리뷰 연락처를 추가하십시오
  • 수출 규제: 암호화 질문에 답하거나 설정 ITSAppUsesNonExemptEncryption 에서 Info.plist 적절한 경우 업로드를 반복하지 않도록 동일한 답변을 다시하지 않도록

앱 리뷰 전 TestFlight

생산 리뷰 전에 하나의 실제 TestFlight 패스를 수행하세요:

  • TestFlight에서 정확한 빌드를 설치하세요
  • 리뷰 계정으로 로그인하세요. 리뷰어에게 제공할 계정을 계획하세요.
  • 구매, 복원 및 취소 경로를 Walk through하세요
  • 리뷰어에게 숨겨진 설정 없이 주요 기능에 도달할 수 있는지 확인하세요
  • iPhone과 iPad 모두 지원하는 경우 iPhone과 iPad에서 테스트하세요

필수 조건:

  • 15-30 초 길이
  • 실제 앱 영상을 보여야 함
  • 간단한 텍스트 오버레이 포함 가능
  • 저작권 문제가 있는 음악 포함 불가
  • 스크린샷과 동일한 해상도

애플 로그인 구현

iOS 리뷰를 위해 중요합니다. 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 콘솔 계정 설정

첫 번째 안드로이드 릴리스 전에 Play 콘솔 계정과 앱 셸이 존재하는지 확인하십시오.

  • 개발자 계정을 생성하려면 Play 콘솔 가입
  • Play 콘솔에서 홈 &gt; 앱 만들기
  • 기본 언어, 앱/게임 유형 및 지원 이메일을 선택하십시오.
  • Play 정책, 수출 및 Play 앱 서명 선언을 수락하세요.
  • 앱이 무료 또는 context

HTML text fragment from a longer Capgo UI string (parent key `alternatives_cta_questions`). Page/area: Capacitor live-update alternatives comparison page. Role: Long marketing or legal paragraph. Seen in: page alternatives.astro. Preserve Capgo product/brand and developer terms exactly. Message key `alternatives_cta_questions` (Alternatives CTA Questions). | HTML text fragment from a longer Capgo UI string (parent key `appflow_cta_questions`). Page/area: Appflow comparison / migration marketing copy. Role: Long marketing or legal paragraph. Seen in: page ionic-appflow.astro. Preserve Capgo product/brand and developer terms exactly. Message key `appflow_cta_questions` (Appflow CTA Questions). | HTML text fragment from a longer Capgo UI string (parent key `capwesome_cta_questions`). Page/area: Capawesome comparison page. Role: Long marketing or legal paragraph. Seen in: page capwesome.astro. Preserve Capgo product/brand and developer terms exactly. Message key `capwesome_cta_questions` (Capwesome CTA Questions). | HTML text fragment from a longer Capgo UI string (parent key `consulting_faq_subtitle`). Page/area: Consulting services page. Role: Section subtitle or tagline. Seen in: page consulting.astro. Preserve Capgo product/brand and developer terms exactly. Message key `consulting_faq_subtitle` (Consulting FAQ Subtitle). | Page/area: Appflow comparison / migration marketing copy. Role: Short UI label or navigation item. Seen in: page ionic-appflow.astro, page ionic-enterprise-plugins.astro, page solutions/ionic-enterprise-plugins.astro. Message key `appflow_plugins_or` (Appflow Plugins Or).유료

중요

contextPage/area: Bug bounty program page. Role: UI label. Seen in: page bug-bounty.astro. Message key `bug_bounty_important_label` (Bug Bounty Important Label).

# Sync the native Android project first
bunx cap sync android

# Then build the release app bundle
cd android
./gradlew bundleRelease

Target API Level Requirement

앱 번들 요구 사항입니다.Important<context: Android 15 (API 35) 이상의 버전을 대상으로해야 합니다.

android/app/build.gradle 업데이트:

android {
    compileSdkVersion 35

    defaultConfig {
        targetSdkVersion 35
        minSdkVersion 23  // Minimum supported version
    }
}

구글 플레이 데이터 안전

이미 위에 설명한 바와 같이, Android 승인에 절대적으로 중요합니다.

폐쇄 테스트 트랙 (현재 요구 사항)

이것은 새로 생성된 개인 개발자 계정의 큰 문제입니다: 이 문서의 앞부분에서 설명한 12 명의 테스터, 14 일의 요구 사항입니다.

타임 라인:

  1. 주 1: 테스터를 모집하고 폐쇄 테스트를 설정합니다.
  2. 주 2-3: 활성 테스트 기간 (14 일 이상)
  3. 주 4: 문제를 해결하고 프로덕션 릴리즈를 준비합니다.
  4. 주 5: 프로덕션 리뷰 제출

대상 청중 및 콘텐츠 등급

콘텐츠 등급 설문조사:

  • 모든 앱에 필요
  • 10-15분 정도 소요
  • 등급 (전체, 청소년, 성인 등)을 결정
  • 내용이 답변에 영향을 미치는 경우에만 업데이트

-covered 주제:

  • 폭력
  • 성적 내용
  • 비속어
  • 제어된 물질
  • 카지노
  • 사용자 상호 작용 기능

중요: 사용자 생성 콘텐츠나 사회 기능이 있는 경우, 이를 공개하고 모니터링을实施해야합니다.

스토어 목록 요구 사항

필수 자산:

  • 앱 아이콘 (512 x 512 PNG)
  • 기능 그래픽 (1024 x 500 JPG 또는 PNG)
  • 폰 스크린샷 (최소 2개, 최대 8개)
  • 7인치 태블릿 스크린샷 (선택적이지만 권장)
  • 10인치 태블릿 스크린샷 (선택적이지만 권장)

설명 요구 사항:

  • 짧은 설명 (80자 이하)
  • 전체 설명 (4000자 이하)
  • 정확한 앱 기능 설명이 필요합니다.
  • 연락처 정보나 가격 정보를 포함하지 마세요.

제출 전 확인해야 할 사항

제출하기 전에 이 포괄적인 체크리스트를 확인하세요.

기술 요구 사항

  • 실제 기기에서 앱이 성공적으로 시작됩니다.
  • 스크린샷에 표시된 모든 기능이 작동합니다.
  • 장치나 “곧 출시됩니다.” 콘텐츠가 없습니다.
  • 모든 세 번째-party API 키가 프로덕션 키입니다.
  • 네트워크 오류 처리가 implemented되었습니다.
  • 권한 요청에 명확한 설명이 포함됩니다.
  • 네트워크 조건이 좋지 않아도 앱이 충돌하지 않습니다.
  • 권한이 거부된 상태에서 테스트됨
  • 최소 지원 OS 버전에서 테스트됨
  • 메모리 누수 확인 및 수정

인증 및 로그인

  • 사회 로그인 사용 시, Sign in with Apple (iOS) 포함
  • 리뷰 노트에 demo 계정 자격 증명 제공
  • demo 계정은 모든 기능에 접근할 수 있습니다
  • 비밀번호 재설정 흐름이 작동합니다
  • 로그아웃 기능이 올바르게 작동합니다
  • GDPR/CCPA에 의해 요구되는 계정 삭제 옵션 제공
  • 개인 정보 보호 정책이 공개적으로 접근 가능합니다
  • 애플리케이션 스토어 목록에 개인 정보 보호 정책 URL 추가
  • 서비스 약관 공개적으로 접근 가능 (적용되는 경우)
  • 애플리케이션 내 설정 화면에서 개인 정보 보호 정책 연결
  • iOS에서 개인 정보 보호 영양 표기 정확
  • Android에서 데이터 안전 섹션 완료
  • 모든 데이터 수집 목적 설명
  • 세 번째 파티 SDK 데이터 수집 공개

콘텐츠 및 메타데이터

  • 앱 이름은 지침을 따릅니다 (키워드 Stuffing 없음)
  • 설명은 기능을 정확하게 설명합니다
  • 스크린샷은 실제 현재 앱 화면을 보여줍니다
  • 지원하는 모든 언어에 대한 스크린샷을 지역화
  • No competitor mentions in description
  • No superlatives without proof
  • 실제 콘텐츠와 일치하는 등급이 지정되었습니다.
  • 연락처 이메일이 모니터링됩니다.

iOS 전용

  • Apple과 함께 로그인하는 기능이 구현되었습니다.
  • 필요한 모든 스크린샷 크기가 제공되었습니다.
  • 아이패드 지원이 활성화된 경우 실제 아이패드 스크린샷이 업로드되었습니다.
  • Info.plist 권한 설명이 명확합니다.
  • 지원 URL이 추가되었습니다. 실제 연락처 세부정보가 포함되어 있습니다.
  • 앱 스토어에 개인 정보 보호 정책 URL이 추가되었습니다.
  • 등급 분류 설문조사가 완료되었습니다.
  • 수출 규정에 대한 올바른 답변
  • 앱 리뷰 연락처 및 비만료 데모 계정 제공
  • iOS 15.0 이상을 대상으로합니다.
  • IAP의 경우 가격이 명확하고, 구매 취소 버튼이 표시됩니다.
  • Android나 다른 플랫폼에 대한 언급이 없습니다.

Android 전용

  • 앱 번들 (.aab) 형식 사용
  • API 35 이상을 대상으로합니다.
  • 콘텐츠 등급 설문조사 완료
  • 기능 그래픽 업로드
  • 테스트가 완료되면 (12명, 14일) Play Console 계정에 따라 폐쇄 테스트 완료
  • 테스트 중의 충돌 보고서 검토 및 수정
  • iOS나 다른 플랫폼에 대한 참조가 없습니다.

테스트 (안드로이드 현재 요구 사항)

  • 12명 이상의 테스터를 모집해야 Play 계정에 폐쇄 테스트가 필요합니다.
  • 폐쇄 테스트 트랙이 생성되었습니다.
  • 테스트 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-Specific Review Notes

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

For iOS, also include:

iOS도 포함:

=== 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

Android-Specific Review Notes

Android용 리뷰 노트

For Android, also include:

  1. Android도 포함:

    • What to Do If Rejected
    • 첫 번째 제출의 경우 거부는 흔한 일입니다. 여기에 어떻게 대처해야 하는지 알려드리겠습니다.
    • Steps After Rejection
  2. 거부 후에 할 일

    • 공식 문서에서 지침을 확인하세요.
    • 온라인에서 유사한 사례를 검색하세요.
    • 이것이 잘못된 이해인지 또는 실제 문제인지 확인하세요.
  3. 원인에 대한 해결책을 찾으세요.

    • 단순히 패치하지 말고 올바르게 고치세요.
    • 고치신 것을 철저히 테스트하세요.
    • 변경한 것을 문서화하세요.
  4. 적절하게 답변하세요.

    반려가 정확하다면:

    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.
  5. prompt하게 재제출하세요.

    • 재제출은 일반적으로 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% 이하로 유지하세요)
  • 앱 스토어/플레이 스토어 평점
  • 리뷰 내용 (모든 리뷰에 응답하세요)
  • 사용자 보고한 버그

사용할 도구:

  • 파이어베이스 크래시 리트릭스
  • 앱 스토어 커넥트 분석
  • 구글 플레이 콘솔 비타
  • 센트리 또는 유사한 오류 추적

업데이트 지침

업데이트 제출 시:

  • 처음 제출과 마찬가지로 철저히 테스트하세요
  • UI가 크게 변경된 경우 스크린샷을 업데이트하세요
  • 데이터 수집이 변경된 경우 개인 정보 보호 레이블을 업데이트하세요
  • 명확한 '새로운 기능' 설명을 제공하세요
  • 주요 변경 사항에 대한 단계적 롤아웃을 고려하세요

법적 준수

연간 요구 사항:

  • Android 콘텐츠 등급을 연간 갱신하세요 (연간 갱신이 필요합니다)
  • 실천 방식이 변경된 경우 개인 정보 보호 정책을 업데이트하세요
  • 콘텐츠가 변경된 경우 연령 등급을 검토하고 업데이트하세요
  • 준수성을 위해 세 번째 파티 SDK를 감사하세요

정기적인 모니터링:

  • 지침 변경 사항에 대한 최신 정보를 유지하세요
  • 애플/구글 개발자 뉴스레터에 가입하세요
  • 개발자 커뮤니티에 참여하세요
  • 앱 스토어/플레이 스토어 정책 블로그를 팔로우하세요

자원 및 추가 읽기

공식 문서

애플:

Google:

커뮤니티 리소스

개인 정보 보호 정책 도구

앱 리뷰에 도움이 필요합니까?

앱 리뷰를 첫 번째 시도에서 통과하기 위해 전문가의 도움을 원하거나 압도되거나, 우리는 도와드리겠습니다!

팀과 상담 전화 예약 개인화된 도움을 위해:

  • 앱 스토어 및 플레이 스토어 리뷰 준비
  • 개인 정보 보호 정책 및 법적 문서 검토
  • Apple과 함께 로그인 구현
  • 테스트 전략 및 테스터 모집
  • 리뷰 노트 준비
  • 거부 응답 및 항소
  • 완전한 앱 제출 프로세스

우리는 수백 명의 개발자가 앱 리뷰 프로세스를 성공적으로 탐색하는 데 도움을 주었으며, 여러분의 주말을 절약할 수 있습니다.

결론

첫 번째 앱을 제출하는 것은 두려울 수 있지만, 적절한 준비가 있으면 첫 번째 시도에서 리뷰를 통과할 수 있습니다. 다음의 중요한 점을 기억하세요:

  1. 시작하기: 특히 Android - 12명의 테스터를 최소 3주 전에 계획된 출시일 전에 모집하세요
  2. 개인정보 우선: 개인정보 보호 정책이 준비되어 있고, 데이터 처리 방침이 정확하게 반영되어야 합니다.
  3. 애플 로그인: iOS에서 사용하는 모든 사회 로그인 시 Sign in with Apple을 포함해야 합니다.
  4. 엄격한 테스트: 실제 기기, 네트워크가 좋지 않은 환경, 권한이 거부된 환경에서 테스트해야 합니다.
  5. 진실하게: 정확한 메타데이터 및 개인 정보 공개는 거부 및 법적 문제를 예방합니다.
  6. 상세한 리뷰 노트: 리뷰어들이 앱을 빠르게 이해할 수 있도록 도와줍니다.

현재 Android 테스트 요구 사항은 프로세스를 더 오래 지속하지만, 결국은 더 나은 앱과 출시 후 문제가 적은 결과를 낳습니다. Android 제출에 3-4주 더 계획을 세우면 성공을 위한 좋은 입지를 만들 수 있습니다.

앱 출시를 위한 좋은 소망입니다! 심사에서 거부되더라도, 그것은 학습의 기회입니다. 성공적인 앱은 대부분 심사에서 여러 번 거쳐 승인되기 전에 승인됩니다.

혼자서 진행하고 싶지 않다면? 상담을 예약하세요 그것을 처리하는 과정에서 전문가들이 여러분을 안내해 줄 것입니다.


승인된 앱에 대해 라이브 업데이트를 구현하는 데 도움이 필요하신가요? Capgo의 라이브 업데이트 솔루션 앱 스토어 리뷰 없이 앱 업데이트를 위한 무결점한 앱 업데이트를 위한

The Complete First-Time App Review Guide for 2026 - iOS and Android에서 계속 진행하세요.

The Complete First-Time App Review Guide for 2026 - iOS and Android을 사용하시는 경우 계획된 보안 및 규정 준수를 위해 암호화 암호화에 대한 구현 세부 사항 규정 준수 규정 준수에 대한 구현 세부 사항 Need help with implementing live updates after your app is approved? Check out Capgo 보안 스캐너 Capgo 보안 스캐너의 제품 워크플로우를 위해 Capgo 보안 Capgo 보안을 위한 제품 워크플로우 Capgo 신뢰 센터 Capgo 신뢰 센터의 제품 워크플로우를 위해

Live updates for Capacitor apps

웹-layer 버그가 활성화된 경우, 앱 스토어 승인 대기 없이 Capgo를 통해 수정을 배포하세요. 사용자는 배경에서 업데이트를 받으며, 네이티브 변경 사항은 일반적인 검토 경로를 유지합니다.

인간 지원 - Martin

시작하기

최신 블로그

Capgo은 전문적인 모바일 앱을 만들기 위해 필요한 최고의洞察력을 제공합니다.