메인 콘텐츠로 건너뛰기

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

2026년 iOS 및 Android용 앱 리뷰를 통과하기 위한 첫 번째 앱 개발자 comprehensive 가이드

마틴 도나디유

마틴 도나디유

콘텐츠 마케터

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

첫 번째 앱을 앱 스토어 또는 플레이 스토어에 제출하는 것은 압도적인 느낌을 줄 수 있습니다. 2026년 현재의 지침과 더 엄격한 강제성이 적용된 상황에서 앱을 승인받으려면 세부 사항에 주의를 기울여야 합니다. 이 comprehensive 가이드는 iOS 및 Android 플랫폼의 첫 번째 제출에 대한 리뷰를 통과하기 위해 알아야 할 모든 것을 안내합니다.

2026년 리뷰 프로세스 이해

Both Apple and Google have significantly tightened their review processes in recent years, with particular emphasis on privacy, security, and user experience. Understanding these changes is crucial for first-time developers.

iOS App Store Review Timeline

  • 표준 검토24-48 시간
  • Peak 기간: 3-5 일 (특히 휴일 시즌에)
  • : 주말에는 검토가 진행되지 않습니다급속 검토
  • : 중요 버그 수정에 사용할 수 있습니다 (App Store Connect를 통해 요청해야 함)Pro Tip

: 주중 초반에 제출하세요 (월요일-화요일) 주말 지연을 피하기 위해.월요일 제출은 일반적으로 수요일에 검토됩니다.

App Store Connect 상태

  • 제출준비: 빌드 또는 메타데이터가 준비 중입니다.
  • 검토 대기: 애플이 제출을 대기열에 넣었습니다.
  • 검토 중: 검토 팀이 앱을 활발하게 확인하고 있습니다.
  • 개발자 배포 대기: 승인되었지만 수동 배포 선택을 기다리고 있습니다.
  • 반려 / 해결되지 않은 문제: 승인하기 전에 애플이 변경이 필요합니다.

Google Play Store 검토 일정 (2026 업데이트)

  • 초기 검토: 3-7 일 (이전 년도보다 훨씬 더 길다)
  • 테스트 게이트 폐쇄: 영향을 받은 새로운 개인 Play Console 계정에 대한 생산 액세스를 요청하기 전에 14 일 이상 소요됩니다.
  • 테스트 후 생산 검토: 폐쇄 테스트 요구 사항이 완료된 후 일반적으로 3-7 일 후
  • 기존 앱 업데이트: 1-3 일
  • 정책 위반: 추가 검토가 트리거되면 14 일 이상까지 연장될 수 있습니다.

중요 업데이트: Google은 일부 새로운 Play Console 계정에 대해 훨씬 더 엄격한 테스트를 요구하기 시작했습니다. 이는 아래에서 자세히 설명할 것입니다.

__CAPGO_KEEP_0__

iOS 앱 첫 번째 출시 전에 Apple 측 설정이 올바르게 구성되어 있는지 확인하세요:

  • Apple Developer 프로그램에 가입하세요. Apple 계정에 사용되는 가입에 대한 두 단계 인증을 활성화하세요.
  • 가입 유형을 선택하세요:
  • 개인 / 단독 사업주
    • : 앱 스토어에서 판매자 이름으로 개인의 법적 이름이 사용됩니다.기업
    • : 법적 엔터티, D-U-N-S 번호, 공개 웹사이트 및 Apple의 계약에 회사에 결합할 수 있는 권한을 가진 사람을 필요로 합니다.가입 시 법적 이름을 사용하세요. 첫/마지막 이름 필드에 별명이나 회사 이름을 사용하면 승인 지연이 발생할 수 있습니다.
  • 가입 승인이 승인되면 App Store Connect에 로그인하여 앱 레코드를 만들고 최종 번들 ID, 앱 이름, SKU, 및 기본 언어를 설정하세요.
  • Apple Developer 계정 설정

애플 개발자 프로그램 등록 페이지

웹에서 애플 등록 계속하기

애플 개발자 엔터티 유형을 선택하세요

중요: 애플은 시간에 따라 최소 SDK 요구 사항을 변경합니다. 2026년 4월 28일부터 앱 스토어 연결에 업로드된 앱은 iOS 및 iPadOS 26 __CAPGO_KEEP_0__ 이상을 사용해야 합니다.Android 테스트 요구 사항 iOS & iPadOS 26 SDK or later.

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

Google Play 개발자 계정의 경우

Google Play 개발자 계정의 경우

Google Play 개발자 계정의 경우 __CAPGO_KEEP_0__ 계정이 2023년 11월 13일 이후에 생성된 경우__CAPGO_KEEP_0__ 앱이 운영에 출시되기 전에 폐쇄 테스트 기간을 완료해야 합니다.

요구 사항:

  • 최소 12 명의 테스터: 최소 12 명의 테스터를 최소한 동의한 상태로 모집해야 합니다.
  • 14 일간 테스트 기간: 폐쇄 테스트 기간은 최소 14 일 연속이어야 합니다.
  • 운영 액세스 신청: 테스트 기간이 끝난 후에도 Play Console에서 운영 액세스를 신청해야 합니다.
  • 피드백 수집: 발견한 문제, 수정한 내용, 테스터가 앱을 사용한 방법을 문서화해야 합니다.

테스트 트랙 설정 방법

  1. __CAPGO_KEEP_0__

    • 구글 플레이 콘솔로 이동
    • 테스트 및 출시 > 테스트 > 폐쇄 테스트로 이동
    • __CAPGO_KEEP_0__
    • __CAPGO_KEEP_0__ (.aab)
  2. __CAPGO_KEEP_0__

    테스터를 모집하는 곳

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

    중요: 테스터가 유효한 Gmail 계정을 가지고 있는지 확인하세요:

    • 유효한 Gmail 계정을 가진 Android 기기를 실제로 사용하고 있는지 확인하세요
    • 14일 동안 옵트인 상태를 유지하세요
    • 테스터 초대
  3. Play Console에서 테스터 목록을 만드세요

    • 테스터 이메일 주소를 추가하세요
    • 테스터에게 옵트인 URL을 공유하세요
    • 앱을 설치하고 사용하도록 테스터에게 nhắc을 보내세요
    • 테스트 활동을 모니터링하세요
  4. Play Console에서 설치 횟수를 확인하세요

    • __CAPGO_KEEP_0__
    • 애플리케이션 오류 보고서 및 ANR (응답이 없는 애플리케이션)를 추적하십시오.
    • 테스터들로부터 피드백을 수집하십시오.
    • 프로모션 전에 모든 심각한 문제를 해결하십시오.
  5. 프로덕션으로 출시하십시오.

    • 14일 동안 12명 이상의 테스터가 동의한 경우
    • 플레이 콘솔 대시보드에서 프로덕션 액세스 신청하십시오.
    • 모든 오류 보고서 및 피드백을 검토하십시오.
    • 최종 검토를 위해 프로덕션 릴리즈를 생성하고 제출하십시오.

왜 구글이 이 요구 사항을 구현했습니까?

구글은 이 요구 사항을 구현했습니다.

  • 저품질 앱 스팸을 줄이기 위해
  • 사용자에게 앱이 올바르게 테스트되었는지 확인하기 위해
  • 악성 앱을 실제 사용 패턴을 통해 식별하십시오
  • 플레이 스토어의 전체 품질을 향상시키십시오

Reality Check: 출시 일정에 최소 2-3주가 더 걸립니다. accordingly 계획하고 테스터를 일찍 모집하십시오.

인증 및 로그인 요구 사항

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

애플 로그인 요구 사항 (iOS용 중요)

애플의 규칙: 앱이 구글, 페이스북, 트위터 등第三자 소셜 로그인 옵션을 제공한다면, 앱 로그인 옵션으로 애플 로그인을 제공해야 합니다. must 애플 로그인 옵션을 제공해야 합니다.

이 규칙은 :

  • 구글 로그인
  • 페이스북 로그인
  • 트위터/엑스 로그인
  • 링크드인 로그인
  • 어떤 다른 세 번째-party 인증 서비스

__CAPGO_KEEP_0__:

  • 이것은 적용되지 않습니다.
  • 이메일/패스워드만 인증
  • 정부 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);
  }
}

중요한 고려 사항:

  1. 이메일 개인 정보 보호: 사용자는 이메일을 숨길 수 있습니다. Apple은 사설 중계 이메일 (예 : abc123@privaterelay.appleid.com). 앱은 이 것을 처리해야 합니다.

  2. 첫 번째 사용자 vs 이전 사용자: Apple은 첫 번째 인증 시 사용자 정보 (이름, 이메일)만 제공합니다. 이 정보를 저장해야 하며, 이후 로그인 시에는 포함되지 않습니다.

  3. 버튼 디자인: Apple은 Sign in with Apple 버튼에 대한 엄격한 디자인 지침을 제공합니다. 공식 자산을 사용하십시오.

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

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

안드로이드에서는 iOS와 같이 특정 제공자를 요구하지 않지만, Google은 지침을 제공합니다:

구글 로그인 요구 사항:

  • 공식 구글 로그인 SDK을 사용해야 합니다.
  • 구글의 브랜드 가이드라인을 따르세요.
  • 사용할 수 있는 경우 기본 옵션으로 제공하세요.

모바일 및 데스크톱 앱에서 사용할 수 있는 로그인 방법을 일관되게 제공하세요.: 모바일 및 데스크톱 앱에서 일관된 로그인 옵션을 제공하세요.

  • 이메일/패스워드
  • 애플 로그인 (iOS에서만, 또는 Android에서 웹 기반 애플 로그인을 지원하는 경우)
  • 구글 로그인
  • 기타 소셜 로그인 옵션 (페이스북, 트위터 등)

데모 계정 요구 사항

리뷰를 위해 중요합니다.: 앱이 로그인 기능을 필요로 한다면, must 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

Common Mistakes:

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

애플 스토어와 구글 플레이 스토어 모두 앱의 개인 정보 보호 정책과 서비스 약관이 접근 가능해야 합니다. 앱의 첫 번째 제출이 승인되기 전에 your first submission is approved.

__CAPGO_KEEP_0__

당신의 개인 정보 보호 정책은 다음을 포함해야 합니다.

  1. 공개적으로 접근할 수 있어야 합니다.

    • 로그인 없이 공개된 URL (공개된 URL)에 호스팅되어야 합니다.
    • 표준 웹 브라우저에서 로드할 수 있어야 합니다.
    • 앱의 언어와 동일한 언어로 제공되어야 합니다.
  2. 다음 필수 주제를 포함해야 합니다.:

    • 수집한 데이터에 대한 정보 (세부 정보)
    • 수집된 데이터를 사용하는 방법
    • 세계적인 제 3 자와 데이터를 공유하는지 여부
    • 데이터가 얼마나 유지되는지
    • 사용자의 권리 (접근, 삭제, 이동성)
    • 개인 정보 보호에 대한 문의에 대한 연락처 정보
    • 13/16세 미만 사용자를 대상으로 하는 앱의 아동 개인 정보
  3. 앱 내에서 연결

    • 설정 또는 계정 화면에서 액세스할 수 있습니다
    • 메뉴 내에 묻지 말고 한 번에 탭해야 합니다
    • 기본 브라우저 또는 앱 내 브라우저에서 열려야 합니다

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

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: 개인 정보 보호 정책 생성기 (Quick Start)

중요: 데이터 처리 실제 실무에 맞게 정확히 반영하여야 합니다. 앱에 맞지 않는 일반 템플릿은 검출될 것입니다.

약관 및 조건 요구 사항

약관 및 조건은 항상 필수적이지 않지만, 다음 경우에는 강력히 권장하고 필요합니다:

  • 인앱 구매 또는 구독을 제공합니다
  • 사용자 생성 콘텐츠가 있습니다
  • 기본 앱 기능 이외의 서비스를 제공합니다
  • 법적 보호를 원합니다

필수 포함:

  • 허용된 사용 정책
  • 계정 종료 조건
  • 책임 제한
  • 지적 재산권
  • 분쟁 해결 과정
  • 환불 정책 (특히 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을 추가하세요
  • 제출 전에 연령 등급 설문조사를 완료하세요

안드로이드 - Google Play 콘솔:

  • 스토어 존재 > 스토어 설정 > 개인 정보 보호 정책
  • 아동을 대상으로 하는 모든 앱에 필요합니다
  • 모든 앱에 강력히 추천합니다

Privay Nutrition Labels (iOS)

iOS는 '영양 표식' 형식의 세부 개인 정보 공개가 필요합니다:

선언해야 하는 카테고리:

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

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

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

일반적인 실수: 데이터 수집을 하지 않는다고 말할 때, 분석 SDK이 데이터를 수집하고 있는 경우

Google Play 데이터 안전 섹션

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

단계:

  1. Play 콘솔 > 앱 콘텐츠 > 데이터 안전성으로 이동하세요
  2. 데이터 수집에 대한 질문에 답합니다.
  3. 수집할 데이터의 타입을 지정합니다.
  4. 보안 관행(암호화 등)에 대해 설명합니다.
  5. 개인 정보 보호 정책 링크를 제공합니다.

중요: 이 정보는 법적으로 ràng buộc됩니다. 오보로 인해 앱이 제거되고 계정이 중단될 수 있습니다.

앱 거절의 일반적인 첫 번째 이유

앱 거절을 이해하면 이러한 함정에 빠지지 않도록 도와줍니다:

1. 앱이 충돌하거나 실행되지 않습니다.

왜 발생하는지 이해하세요.:

  • 테스트를 오직 에뮬레이터에서만 진행하는 경우
  • 네트워크 오류에 대한 오류 처리를 누락한 경우
  • API에 고정된 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. 핵심 기능이 누락되거나 깨진 경우

왜 발생하는가:

  • 스크린샷에 표시된 기능이 아직 존재하지 않음
  • Demo 계정은 광고된 기능에 접근할 수 없습니다.
  • 광고된 기능이 표시되지만 구현되지 않았습니다.
  • “Coming Soon” placeholders in the app

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

  • 모든 광고된 기능이 완료된 경우에만 제출하세요.
  • demo 계정이 전체 접근 권한을 가지고 있는지 확인하세요.
  • 제출하기 전에 완성되지 않은 기능을 제거하거나 비활성화하세요.
  • 스크린샷을 현재 빌드와 정확히 일치시키세요.

3. 어린이 등급에 적합하지 않은 콘텐츠

어린이 등급이 4+로 설정되어 있지만 앱에는 사회 기능이 포함되어 있습니다.:

  • 설정된 어린이 등급과 실제 콘텐츠가 일치하지 않습니다.
  • Coming Soon
  • __CAPGO_KEEP_0__
  • __CAPGO_KEEP_0__

정확한 연령 등급 설정 방법:

iOS 연령 등급:

  • 4세 이상 (비매력적 내용 없음)
  • 9세 이상 (간헐적 가볍한 내용)
  • 12세 이상 (중간 내용)
  • 17세 이상 (빈번한/강렬한 내용)

안드로이드 콘텐츠 등급:

  • 전체
  • 10세 이상
  • 청소년
  • 성인 17세 이상
  • 성인 전용 18세 이상

중요: 사용자들이 서로 콘텐츠를 공유할 수 있다면, 다음이 필요합니다:

  • 콘텐츠 관리 시스템
  • 신고/차단 기능
  • rõ한 커뮤니티 지침
  • 필요한 경우 나이 제한

4. 유도적 또는 허위 메타데이터

왜 일어나는가:

  • 앱 이름이 제공하지 않는 기능을 약속한다
  • 경쟁사 스크린샷 또는 모의 설계
  • __CAPGO_KEEP_0__
  • __CAPGO_KEEP_0__

__CAPGO_KEEP_0__:

__CAPGO_KEEP_0__:

  • __CAPGO_KEEP_1__: “최상의 피트니스 트래커 - #1 앱”
  • __CAPGO_KEEP_2__: “최대驚き, 혁신적인 앱”
  • __CAPGO_KEEP_3__: 일반적인 스톡 사진

__CAPGO_KEEP_1__: “피트트랙 - 워크아웃 로거”:

  • __CAPGO_KEEP_2__: “운동 기록을 위해 사용자 정의 루틴과 진행 차트를 사용하세요.”
  • __CAPGO_KEEP_3__: 현재 빌드의 실제 앱 화면
  • 5. 테스트 부족 (특히 안드로이드 클로즈드 테스트)

__CAPGO_KEEP_0__

왜 일어나는가:

  • 필수 14일 테스트 기간을 건너뛰는 경우
  • 테스터를 충분히 모집하지 못하는 경우
  • 테스터가 실제로 앱을 사용하지 않는 경우
  • 테스트 중에는 충돌 모니터링을 하지 않는 경우

예방하는 방법:

  • 계획된 출시 3-4주 전에 테스터를 모집하기 시작하는 경우
  • 테스트 중 Firebase Crashlytics 또는 유사한 도구를 사용하는 경우
  • 테스터와 적극적으로 상호 작용 (설문조사, 피드백 양식)
  • 중요한 문제를 수정하기 전에 프로덕션으로 승격하는 경우

권한이 없이는 권한을 부여하는 경우

왜 일어나는가:

  • 위치 요청하지만 사용하지 않음
  • 사용 목적 없이 카메라 권한 요청
  • _contacts 접근 목적이 명확하지 않음
  • 이동 앱이 아닌 배경 위치

문제 해결 방법:

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” iPhone: 1290 x 2796
  • 13” iPad: 2064 x 2752
  • 12.9” iPad: 2048 x 2732

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

스크린샷 최적화:

  • 실제 앱 콘텐츠를 보여주기 (모의 테스트는 피하십시오)
  • 상태바를 제거하거나 현실적인 콘텐츠를 보여주십시오
  • 모든 지원 언어에 맞춰서
  • 훨씬 많은 텍스트 오버레이를 피하십시오
  • 첫 2-3 스크린샷에서 주요 기능을 보여주십시오

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

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

  • 개인 정보 보호 정책 URL: iOS 앱에 필요합니다
  • 지원 URL: 실제 연락처 정보로 연결되어야 하며, 필요 시 로그인 시 demo 인증 정보 및 리뷰 팀에 대한 명확한 설명이 포함되어야 합니다
  • 연령 등급: 앱을 출시하기 위해 설문조사를 완료하세요
  • 앱 리뷰 정보: 리뷰 연락처, 로그인 시 demo 인증 정보 및 리뷰 팀에 대한 명확한 설명을 추가하세요
  • 수출 규제: 암호화에 대한 질문에 답변하거나, 필요 시 업로드할 때마다 동일한 답변을 반복하지 않도록 설정하세요 ITSAppUsesNonExemptEncryption in Info.plist when appropriate so you do not repeat the same answers every upload

__CAPGO_KEEP_0__ 전 앱 검토

__CAPGO_KEEP_1__ 실제 전 앱 검토를 한 후 프로덕션 검토:

  • __CAPGO_KEEP_2__ TestFlight에서 정확한 빌드를 설치
  • __CAPGO_KEEP_3__ 검토를 제공할 계정과 동일한 계정으로 로그인
  • __CAPGO_KEEP_4__ 구매, 복원 및 취소 경로를 walk through
  • __CAPGO_KEEP_5__ 리뷰어는 숨겨진 설정 없이 주요 기능에 접근할 수 있는지 확인
  • __CAPGO_KEEP_6__ iPhone과 iPad 모두 지원하는 경우 iPhone과 iPad에서 테스트

__CAPGO_KEEP_8__ 요구 사항:

  • __CAPGO_KEEP_9__ 15-30 초 길이
  • __CAPGO_KEEP_10__ 실제 앱 영상을 보여주어야 함
  • __CAPGO_KEEP_11__ 짧은 텍스트 오버레이 포함 가능
  • 저작권 문제가 있는 음악이 없습니다
  • 스크린샷과 동일한 해상도

애플 로그인 구현

이미 위에 설명했지만, iOS 검토를 위해 사회 로그인 시 중요합니다.

인앱 구매 요구 사항

디지털 상품이나 서비스를 제공하는 경우:

필수적인 고지:

  • 구매 전에 rõ ràng한 가격
  • 구독 약관이 명확하게 표기
  • 취소 지침이 표시
  • 구매를 복원하는 버튼

예시로 합법적인 구독 화면:

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

Android-Specific Requirements

Google Play Console 계정 설정

__CAPGO_KEEP_0__

  • 개발자 계정을 만들려면 Play Console 가입
  • Play Console에서 홈 > 앱 만들기
  • 기본 언어, 앱/게임 종류, 지원 이메일을 선택하세요
  • 필수 Play 정책, 수출, Play 앱 서명 선언을 수락하세요
  • 앱이 무료 또는 __CAPGO_KEEP_0__

중요: Google이 유료 앱을 무료로 변경할 수 있지만, 앱이 무료로 제공된 후에는 유료로 변경할 수 없습니다.

앱 번들 요구 사항

중요: Google Play는 APK가 아닌 Android App Bundle (.aab) 형식이 필요합니다.

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

대상 청중 및 콘텐츠 등급

콘텐츠 등급 설문 조사:

  • 모든 앱에 필요
  • 10-15 분 정도 소요
  • 나이 등급을 결정합니다 (모두, 청소년, 성인 등)
  • 업데이트할 때마다 내용이 답변에 영향을 미치는 방식으로 변경되면

커버된 주제:

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

중요사용자 생성 콘텐츠 또는 사회 기능이 있는 경우, 이에 대한 공개를 해야하고, 관리를 구현해야 합니다.

스토어 목록 요구 사항

필수 자산:

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

설명 요구 사항:

  • 짧은 설명 (80자 이내)
  • 전체 설명 (4000자 이내)
  • 앱 기능을 정확하게 설명해야 함
  • 연락처 정보나 가격 정보를 포함할 수 없음

제출 전 확인 목록

제출하기 전에 이 포괄적인 확인 목록을 확인하세요:

기술 요구 사항

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

인증 및 로그인

  • If using social login, __CAPGO_KEEP_0__ in with Apple is included (iOS)
  • 리뷰 노트에 제공된 데모 계정 자격 증명
  • 데모 계정은 모든 기능에 접근할 수 있습니다
  • 비밀번호 재설정 흐름이 작동합니다
  • 로그아웃 기능이 올바르게 작동합니다
  • GDPR/CCPA에 의해 필요로 하는 계정 삭제 옵션이 제공됩니다
  • 개인 정보 보호 정책이 공개적으로 액세스 가능합니다
  • 앱 스토어 목록에 개인 정보 보호 정책 URL이 추가되었습니다
  • 서비스 약관이 공개적으로 액세스 가능합니다 (적용 시)
  • 인앱 설정 화면에서 개인 정보 보호 정책이 연결됩니다
  • iOS에서 개인 정보 보호 영양 표가 정확합니다
  • 안전 데이터 섹션 완료 (Android)
  • 모든 데이터 수집 목적이 설명됨
  • 세 번째-party SDK 데이터 수집이 공개됨

콘텐츠 및 메타데이터

  • 앱 이름은 지침을 따름 (키워드 스태킹 없음)
  • 설명은 실제 기능을 설명함
  • 스크린샷은 현재 앱 화면을 보여줌
  • 스크린샷은 모든 지원 언어에 맞춤
  • 설명에는 경쟁사 언급이 없음
  • 증거가 없는 초월적인 표현이 없음
  • 실제 콘텐츠와 일치하는 나이 등급
  • 문의 이메일은 모니터링됨

__CAPGO_KEEP_0__

  • __CAPGO_KEEP_1__
  • __CAPGO_KEEP_2__
  • __CAPGO_KEEP_3__
  • __CAPGO_KEEP_4__
  • __CAPGO_KEEP_5__
  • __CAPGO_KEEP_6__
  • __CAPGO_KEEP_7__
  • __CAPGO_KEEP_8__
  • __CAPGO_KEEP_9__
  • __CAPGO_KEEP_10__
  • __CAPGO_KEEP_11__
  • 안드로이드나 다른 플랫폼에 대한 참조가 없습니다.

안드로이드 전용

  • 앱 번들 (.aab) 형식이 사용됩니다.
  • API 35 이상을 대상으로합니다.
  • 콘텐츠 등급 설문이 완료되었습니다.
  • 기능 그래픽이 업로드되었습니다.
  • 12명의 테스터와 14일 동안의 클로즈드 테스트가 완료되었습니다. (플레이 콘솔 계정 요구 사항에 따라)
  • 테스트 중의 충돌 보고서가 검토되고 수정되었습니다.
  • iOS나 다른 플랫폼에 대한 참조가 없습니다.

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

  • 플레이 계정의 클로즈드 테스트 요구 사항에 따라 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

__CAPGO_KEEP_0__

첫 번째 제출 시 거절은 흔한 일입니다. 여기에 어떻게 대처할 수 있는지 알려드리겠습니다.

__CAPGO_KEEP_1__

  1. __CAPGO_KEEP_2__

    • 거절 사유를 꼼꼼히 읽어보세요.
    • 특정 가이드라인을 위반한 부분을 기록하세요 (예: 4.3, 5.1.1).
    • 리뷰어의 댓글을 꼼꼼히 읽어보세요.
  2. 스크린샷이 제공된 경우 이를 확인하세요.

    • 이 문제를 이해하세요.
    • 공식 문서에서 가이드라인을 확인하세요.
    • 온라인에서 유사한 사례를 검색하세요.
  3. 이것이 이해되지 않는 부분인지 또는 실제 문제인지 확인하세요.

    • __CAPGO_KEEP_0__
    • __CAPGO_KEEP_0__
    • __CAPGO_KEEP_0__
  4. __CAPGO_KEEP_0__

    __CAPGO_KEEP_0__

    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)

    __CAPGO_KEEP_0__

    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. __CAPGO_KEEP_0__

    • __CAPGO_KEEP_0__
    • __CAPGO_KEEP_0__
    • __CAPGO_KEEP_0__

__CAPGO_KEEP_0__

__CAPGO_KEEP_0__

Response:

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)

거부 사유: 개인 정보 보호 정책이 없습니다.

Response:

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 - 최소 기능성 준수하지 않음

이건 더 어려운 문제입니다. 앱으로 인정받으려면 충분한 기능을 제공해야 합니다. Response:

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 콘텐츠 등급을 연간 갱신하십시오 (필수)
  • 실천 방식이 변경되는 경우 개인 정보 보호 정책을 갱신하십시오
  • 콘텐츠가 변경되는 경우 연령 등급을 검토하고 갱신하십시오
  • 3자 SDK를 준수성 검토에 사용하십시오

계속적인 모니터링:

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

자원 및 추가 읽기

공식 문서

애플:

구글:

커뮤니티 리소스

개인 정보 보호 정책 도구

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

앱 리뷰를 통과하기 위해 전문가의 도움을 원하거나 첫 번째 시도에서 리뷰를 통과하기 위해 압도적인 감정을 느끼신다면, 저희가 도와드리겠습니다!

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

  • 앱 스토어 및 플레이 스토어 리뷰 준비
  • 개인정보 보호정책 및 법적 문서 검토
  • Sign in with Apple 구현
  • 테스트 전략 및 테스터 모집
  • 리뷰 노트 준비
  • 반려 응답 및 항소
  • Complete app submission process

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

Conclusion

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

  1. Start Early: 안드로이드의 경우, 계획된 출시일로부터 최소 3주 전에 12명의 테스터를 모집하세요.
  2. Privacy First: 개인 정보 보호 정책이 준비되어 있고, 데이터 처리 방침이 정확하게 반영되어야 합니다.
  3. Apple Sign-In: iOS에서 사회 로그인 사용하는 경우, Sign in with Apple을 포함해야 합니다.
  4. Test Thoroughly: 실제 장치에서 테스트하고, 네트워크가 좋지 않은 경우, 권한이 거부된 경우 테스트하세요.
  5. Be Honest: 정확한 메타데이터와 개인 정보 공개는 거부와 법적 문제를 방지합니다.
  6. Detailed Review Notes: 앱을 빠르게 이해할 수 있도록 리뷰어를 도와줍니다.

현재 Android 테스트 요구 사항은 시간을 더 소요하지만, 결국은 더 나은 앱과 출시 후 문제가 적은 앱을 만듭니다. Android 제출에 3-4주를 더 계획하고 성공을 위해 잘 준비하세요.

앱 출시에 성공하길 바랍니다! 심사에서 거부되더라도, 그것은 학습의 기회입니다. 대부분의 성공적인 앱은 승인 전 여러 번의 심사를 거칩니다.

혼자 가고 싶지 않나요? 상담 일정 예약 우리의 전문가들이 프로세스를 안내해 드립니다.


승인 후 앱에 라이브 업데이트를 구현하는 데 도움이 필요하세요? Capgo의 라이브 업데이트 솔루션 앱 스토어 심사를 거치지 않고도 앱 업데이트를 위한 무결점 앱 업데이트를 위한 솔루션입니다.

Capacitor 앱에 대한 실시간 업데이트

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

시작하기

블로그에서 최신 뉴스

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