본문으로 바로가기

2025년 앱 스토어 검토 통과 방법: 인앱 구매

iOS 및 Android에서 인앱 구매가 승인되는 앱에 대한 완전한 가이드. 2025년의 일반적인 거부 사유, 요구 사항 및最佳 관행을 학습하세요.

조던

편집자

앱 스토어 리뷰 통과하는 방법: 2025년 IAP 앱 스토어와 구글 플레이에 앱을 승인받는 것은 어려울 수 있습니다. 특히 IAP와 구독을 implement하는 경우, 2025년 stricter guidelines로 인해 리뷰어들이 무엇을 찾는지 이해하는 것이 중요합니다. 이 포괄적인 가이드는 첫 번째 제출에서 리뷰 통과를 위해 필요한 모든 것을 다룹니다. 세부한 설정 지침이 필요합니다. | 다음의 완전한 가이드를 확인하세요:

iOS 앱 스토어 리뷰

안드로이드 플레이 스토어 리뷰 애플의 앱 스토어 리뷰 지침 그리고 구글 플레이의 수익화 정책, 2025년 리젝 이유 중 가장 위험한 것들입니다.

  1. 가격이 불분명합니다 (2025년 리젝 이유 42%)
  2. 구독 약관이 누락되거나 혼동스럽습니다 (31%)
  3. 위장 UI 패턴 (18%)
  4. 개인 정보 보호 정책 위반 (9%)

이러한 함정들을 피하는 방법에 대해 자세히 알아보겠습니다.

iOS 앱 스토어 요구 사항

📖 iOS 완전한 가이드: 설치 방법을 완벽하게 설정하려면 애플 스토어 리뷰 가이드

1. 투명한 가격 공개

애플은 정확한 가격 공개를 요구합니다 앞서 구매 버튼에 가격을 명확하게 표시합니다. 이것은 협상할 수 없습니다.

애플이 원하는 것은:

  • 가격이 명확하게 표시되야 합니다: “월 $9.99”
  • 결제 주기가 미리 알려져야 합니다
  • 사용자가 돈을 지불하는 데 무엇을 얻는지
  • 결제가 언제 발생하는지
  • 취소 방법이 표시되어야 합니다

UI 디자인 최적화 방법

일반적인 오류: 가격을 사용자가 '구독' 버튼을 탭할 때까지 숨기거나, 가격을 미세한 글씨로만 표시하는 경우.

해결:

// Example: Compliant subscription display
<div className="subscription-card">
  <h2>Premium Plan</h2>
  <p className="price">$9.99/month</p>
  <ul>
    <li>✓ Ad-free experience</li>
    <li>✓ Unlimited cloud storage</li>
    <li>✓ Priority support</li>
  </ul>
  <p className="terms">
    Renews automatically. Cancel anytime in Settings.
  </p>
  <button>Subscribe Now</button>
</div>

가격 일관성 규칙: 모든 가격은 다음과 같은 곳에서 일관해야 합니다.

  • 앱 스토어 목록
  • 인앱 구매 화면
  • 구독 관리
  • 마케팅 자료

1달러의 오차마저 자동으로 거절된다.

2. 구독 계획 제시

애플은 비싼 계층을 밀어내는 '다크 패턴'을 사용하는 앱을 플래그합니다.

필수:

  • 모든 구독 계층을 동일하게 표시하세요.
  • 기본적으로 프리미엄 옵션을 선택하지 마세요.
  • 기능 비교가 명확하세요.
  • 비싼 옵션보다 저렴한 대안을 쉽게 찾을 수 있도록 하세요.

금지:

  • 연간 계획으로 자동으로 기본값을 설정하지 마세요.
  • 월별 옵션을 숨기지 말고 추가 탭을 눌러야만 볼 수 있도록 하지는 마세요.
  • false 긴급성을 만들기 위해 카운트다운 타이머를 사용하지 마세요.
  • '마지막 3 개의 자리!'와 같은 가짜 부족함을 사용하지 마세요.

3. 구매를 복원하는 기능을 구현하세요.

모든 IAP 앱은 구입한 제품을 복원하는 버튼을 제공해야 합니다. 이 버튼은 지원 연락처가 필요하지 않아도 작동해야 합니다. 더 많은 정보는我们的 시작 가이드.

Implementation:

import { NativePurchases } from '@capgo/native-purchases';

async function restorePurchases() {
  try {
    const { customerInfo } = await NativePurchases.restorePurchases();

    if (customerInfo.activeSubscriptions.length > 0) {
      showSuccess('Purchases restored!');
      unlockPremiumFeatures();
    } else {
      showInfo('No previous purchases found.');
    }
  } catch (error) {
    showError('Restore failed. Please try again.');
  }
}

4. 개인 정보 보호 준수 (5.1.1 절)

2025년은 개인 정보 보호 강화의 해입니다. 애플은 이제 다음과 같은 엄격한 개인 정보 보호 규정을 요구합니다.

모든 권한에 대해:

  • 명확한 설명 앞서 요청
  • 특정 사용 사례 (일반적이지 않음)
  • 데이터가 저장/공유되는 방식
  • 그것이 선택적이면

애플 스토어 리뷰를 통과하는 방법: IAP Info.plist entries:

<key>NSCameraUsageDescription</key>
<string>Camera access lets you scan product barcodes for quick upgrades. Photos are never uploaded.</string>

<key>NSLocationWhenInUseUsageDescription</key>
<string>Location shows relevant local content in your Premium subscription.</string>

2025년 1위 거부 사유는 정확하지 않은 개인 정보 레이블입니다.

Android Google Play Requirements

📖 전체적인 Android 가이드: 설정 지침을 완전히 확인하려면我们的 Android Play Store Review 가이드

1. 필수 Google Play Billing

디지털 제품 (구독, 앱 내 콘텐츠)에는 Google Play Billing을 사용해야합니다. 대체 결제 방법은 거부될 것입니다. 디지털 제품 (Play Billing 사용 필수): __CAPGO_KEEP_0__

__CAPGO_KEEP_1__

  • 기능 구독
  • 앱 내 결제 통화
  • 디지털 콘텐츠 (전자책, 음악)
  • 프리미엄 언락

물리적 상품 (Play Billing 사용 불가):

  • 실제 물품
  • 물리적 서비스
  • 비영리 기부

native-purchases와 함께 구현:

완전한 안드로이드 설정을 위해 참조하십시오. 안드로이드 샌드박스 테스트 그리고 구독 설정.

import { NativePurchases } from '@capgo/native-purchases';

// Automatically uses Google Play Billing on Android
await NativePurchases.configure({
  apiKey: 'your_api_key'
});

const { products } = await NativePurchases.getProducts({
  productIdentifiers: ['premium_monthly']
});

2. 투명한 자동 갱신

구글은 구독이 자동 갱신되는 것을 명확하게 알리기 위해 다음을 요구합니다:

  • 자동 갱신 전 요금 청구 알림
  • 요금 알림
  • 취소하기에 쉬운 접근

준수 UI:

<div className="subscription-terms">
  <p>Subscription renews automatically at $9.99/month</p>
  <p>Cancel anytime in Google Play Subscriptions</p>
  <p>Next billing date: February 15, 2025</p>
  <button onClick={openManagement}>
    Manage in Google Play
  </button>
</div>

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

IAP 앱에 필수:

  1. Play 콘솔에 개인 정보 보호 정책 URL
  2. 앱 내 개인 정보 보호 정책 링크
  3. 정확한 데이터 안전 섹션 선언

데이터 안전성 선언:

  • 구매 기록 수집
  • 전자 메일 주소 (영수증)
  • 기기 ID (위조 방지)
  • 분석 데이터

앱 설명 지침

두 플랫폼 모두에서 거부 사유

1. 메타데이터 불일치

왜 실패하는가:

  • 스크린샷은 현재 버전의 기능이 아닌 것을 보여준다
  • 설명은 존재하지 않는 기능을 약속한다
  • 가격은 앱 내와 다르다

Metadata 확인 목록

예방:

  • 모든 제출에 대한 스크린샷을 업데이트 하세요
  • 설명이 실제 기능과 일치하도록 하세요
  • 모든 주장은 정확한지 테스트하세요
  • 기존 홍보 문구를 제거하세요

2. 유도적 마케팅:

자동으로 거절되는 트리거:

  • “1위 앱” 증명이 없는 경우
  • “무제한”에 숨겨진 제한이 있는 경우
  • 가짜 리뷰 또는 평점
  • 경쟁사 비방

마케팅 지침

최선의 방법: 정확하고 사실에 기반한 표현을 사용하세요:

  • ✓ "50,000명 이상의 사용자와 함께하세요"
  • ✗ "세계에서 가장 좋은 앱"
  • ✓ "연간 계획으로 최대 30%까지 절약하세요"
  • ✗ "한정 시간 동안의 특별한 행사!"

3. 구매 흐름이 깨진 경우

제출하기 전에 테스트하세요:

  • 제품이 올바르게 로드됩니다.
  • 구매가 성공적으로 완료됩니다.
  • 프리미엄 기능이 즉시 활성화됩니다.
  • 구매를 복원하는 방법이 작동합니다.
  • 오류 메시지는 사용자 친화적입니다.
  • 네트워크 실패가 부드럽게 처리됩니다.
// Comprehensive error handling
async function handlePurchase(productId: string) {
  try {
    const { customerInfo } = await NativePurchases.purchaseProduct({
      productIdentifier: productId
    });

    if (customerInfo.entitlements.active['premium']) {
      unlockPremiumFeatures();
    }
  } catch (error: any) {
    switch (error.code) {
      case 'USER_CANCELLED':
        // Silent - user backed out
        break;
      case 'ITEM_ALREADY_OWNED':
        await NativePurchases.restorePurchases();
        break;
      case 'NETWORK_ERROR':
        showError('Check your connection and try again.');
        break;
      default:
        showError('Purchase failed. Please try again.');
    }
  }
}

제출 전 검사 목록

제출 전 검사 목록

이 검사 목록을 제출하기 전에 항상 사용하세요. 자세한 테스트 절차에 대해:

테스트

  • 모든 구독 계층을 테스트하세요.
  • 구매 후 리뷰를 통과하는 방법
  • 무료 시범판이 올바르게 작동하는지 확인하세요
  • 소개 제안을 테스트하세요
  • 구매를 복원하는 것이 작동하는지 확인하세요
  • 다양한 기기에서 테스트하세요

테스트 계정 및 샌드박스 계정이 작동하는지 확인하세요

  • 가격 및 약관
  • 모든 플랫폼에서 가격이 일치하는지 확인하세요
  • 구독 약관이 명확하게 표기되어 있는지 확인하세요
  • 취소 안내가 표시되어 있는지 확인하세요
  • 결제 주기 표시되어 있는지 확인하세요

무료 시범판의 기간이 정확한지 확인하세요

  • 개인 정보 보호 정책은 앱 스토어에서 연결됩니다.
  • 개인 정보 보호 정책은 앱 내에서 접근할 수 있습니다.
  • 모든 권한은 정당화됩니다.
  • iOS의 Info.plist 설명이 명확합니다.
  • Android의 데이터 안전이 완료되었습니다.

메타데이터

  • 스크린샷은 현재 버전을 보여줍니다.
  • 설명은 기능과 일치합니다.
  • 장치에 텍스트가 없습니다.
  • 나이 등급이 정확합니다.
  • 모든 주장은 테스트 가능합니다.

Code 품질

  • No launch 시 발생하는 충돌이 없습니다.
  • 설명된대로 모든 기능이 작동합니다.
  • 에러 처리가 구현되었습니다.
  • 로딩 상태가 표시됩니다.
  • 네트워크 오류가 처리됩니다.

리뷰 타임라인 예상

리뷰 타임라인

iOS:

  • 표준: 24-48시간
  • 피크 기간: 3-5일
  • 주말: 리뷰 없음
  • 급진화: 심각한 버그에 대한 비용이 부과됩니다.

Android:

  • 초기: 7일 평균
  • 업데이트: 일반적으로 빠르다
  • 롤링 리뷰: 언제든지 라이브로 가능
  • 정책 위반: 즉시 중단 가능

프로 팁: iOS 앱을 월요일부터 수요일까지 제출하여 주말 지연을 피하십시오.

거절된 경우 무엇을 할 것인가

명확성 프로세스

Step 1: 문제를 이해하십시오

  • 거절 통지를 신중히 읽으십시오
  • 특정 가이드라인을 언급하십시오
  • 예시를 확인하세요.
  • 피드백에서 패턴을 찾으세요.

2단계: 철저히 수정하세요.

  • 원인에 대처하세요, 증상만 해결하지 마세요.
  • 수정한 것을 철저히 테스트하세요.
  • 모든 변경 사항을 문서화하세요.
  • 이전/후 사진을 찍으세요.

3단계: 전문적으로 응답하세요.

문서 요청:

iOS 해결 센터:

Thank you for the feedback. I have addressed the issue:

Issue: Subscription pricing not clear upfront

Fix: Added explicit pricing display on subscription screen
showing "$9.99/month" before purchase button. Also added
cancellation instructions on the same screen.

Screenshots showing changes are attached. Test account
provided in App Review Notes.

Android 항의:

Subject: Policy Violation Appeal - [App Name]

I have received notification regarding [Policy X.Y].

Changes made:
1. Updated subscription UI to show all pricing upfront
2. Added clear cancellation instructions
3. Implemented restore purchases functionality

Version [X.Y.Z] addresses all concerns. Test account
credentials provided below for verification.

4단계: 빠르게 재제출하세요.

  • 재제출은 더 빠르게 검토됩니다.
  • 일반적으로 24시간 이내에 검토됩니다.
  • 테스트 계정 포함
  • 이전 제출물 참조

2025년 업데이트 및 새로운 요구 사항

iOS 변경 사항

AI 기능성 공개 (새)

  • AI 생성 콘텐츠에 레이블을 지정해야 합니다.
  • AI 사용 설명
  • 콘텐츠 안전성 문서화

강화된 구독 명확성

  • 동일한 앱 비교 필요
  • 비용이 저렴한 옵션 숨기지 않기
  • 업그레이드/다운그레이드 경로 명확히 하기

개인 정보 보호 강화

  • 5.1.1 조항 준수 강화
  • 데이터 정당성에 대한 더 많은 검토
  • 어린이 앱 규정 강화

안드로이드 변경 사항

대안 결제 (지역)

  • EEA, 한국에서 허용
  • Google Play 옵션 제공해야 함
  • 서비스 수수료를 줄였습니다.

구독 API 요구 사항

  • 새로운 앱은 monetization.subscriptions API를 사용해야 합니다.
  • 기존 결제 API는 deprecated되었습니다.
  • 구독 관리를 위한 더 나은 도구

성공을 위한 최적의 방법

1. 올바른 SDK를 사용하십시오.

__CAPGO_KEEP_0__/native-purchases 플러그인은 다음과 같이 두 가지 플랫폼을 모두 올바르게 처리합니다: @capgo/native-purchases 구매 상태를 모두 부드럽게 처리하십시오:

// Single API for iOS and Android
await NativePurchases.configure({
  apiKey: 'your_api_key'
});

// Automatically uses correct billing system
const { products } = await NativePurchases.getProducts({
  productIdentifiers: ['premium_monthly']
});

// Platform-specific logic handled automatically
await NativePurchases.purchaseProduct({
  productIdentifier: 'premium_monthly'
});

__CAPGO_KEEP_0__

__CAPGO_KEEP_0__

  • 사용자 취소 (침묵)
  • 네트워크 오류 (재시도 옵션)
  • 이미 소유 (복원)
  • 제품 unavailable (사용자에게 알리기)
  • 결제 대기 (다음에 확인)

3. 명확하게 전달

사용자는 항상 알 수 있어야 합니다:

  • 그들이 무엇을 구매하는지
  • 그것의 비용
  • 그들이 청구될 때
  • 취소 방법
  • trial 후에 무슨 일이 일어나는지

4. 철저한 테스트

iOS 샌드박스:

  • App Store Connect에서 테스트 계정 만들기
  • 장치에서 설정 (설정 > 앱 스토어 > 샌드박스)
  • 구독 기간이 가속되는 것을 주의하세요

Android 라이선스 테스트:

  • Play Console에서 테스트 계정 추가
  • ‘구매 테스트’ 알림을 확인하세요
  • 실제 요금이 발생하지 않습니다

자원

플랫폼 문서

implementation 지침

상세 검토 지침

전문가 도움 필요?

앱 리뷰에서 막힌다면 또는 직접적인 도움을 필요로 한다면?

우리 팀은 앱 내 구매 구현 및 리뷰 준비를 위한 전용 지원을 제공합니다. 우리와의 상담 전화 예약

  • 개인화된 도움을 받기 위해:
  • IAP 구현 검토
  • 앱 스토어 리뷰 준비
  • 제출 전략 지침
  • 거절 해결 도움

완전한 설정 및 테스트 지원

우리는 수백 개의 앱이 리뷰 통과에 성공했다고 말할 수 있습니다!

결론

  1. 2025년 앱 내 구매를 위한 앱 리뷰 통과는 세부 사항에 대한 주의, 명확한 의사소통 및 적절한 구현이 필요합니다. 주요 takeaway는 다음과 같습니다: - 앱 스토어 리뷰 통과를 위한 방법
  2. 플랫폼 규칙을 따르세요 - 필요한 결제 시스템을 사용하세요
  3. 적극적으로 테스트하세요 - 리뷰어들이 먼저 발견하지 못하는 문제를 해결하세요
  4. 명확하게 의사소통하세요 - 사용자는 혼란스러워하지 않아야 합니다
  5. 문서를 준비하세요 - 테스트 계정 준비가 되어 있어야 합니다

이 안내서를 따라서 native-purchases 플러그인을 사용하면 첫 번째 승인에 대한 기회를 크게 높일 수 있습니다native-purchases 플러그인과 같은 적절한 도구를 사용하면

앱 스토어 리뷰 통과하기: IAP

인앱 구매 구현에 도움이 필요하신가요? 자세한 설명을 확인하세요 전문적인 문서를 확인하세요 앱 스토어 리뷰 통과하기: IAP 2025

앱 스토어 리뷰 통과하기: IAP 2025을 사용하시면 스토어 승인 및 배포를 계획할 수 있습니다. @__CAPGO_KEEP_0__/__CAPGO_KEEP_1__-in-app-review

앱 스토어 리뷰 통과하기: IAP 2025을 사용하시면 @__CAPGO_KEEP_0__/__CAPGO_KEEP_1__-in-app-review 앱 스토어 리뷰 통과하기: IAP 2025을 사용하시면 @__CAPGO_KEEP_0__/__CAPGO_KEEP_1__-in-app-review 앱 스토어 리뷰 통과하기: IAP 2025을 사용하시면 @__CAPGO_KEEP_0__/__CAPGO_KEEP_1__-in-app-review 앱 스토어 리뷰 통과하기: IAP 2025을 사용하시면 @capgo/capacitor-in-app-review 앱 스토어 리뷰 통과하기: IAP 2025을 사용하시면 @capgo/capacitor-in-app-review 앱 스토어 리뷰 통과하기: IAP 2025을 사용하시면 @capgo/capacitor-in-app-review for the native capability in Using @capgo/capacitor-in-app-review, @capgo/capacitor-native-market for the implementation detail in @capgo/capacitor-native-market, Using @capgo/capacitor-native-market for the native capability in Using @capgo/capacitor-native-market, and Capacitor OTA Updates: App Store Approval Guide for the practical context in Capacitor OTA Updates: App Store Approval Guide.

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

웹层 버그가 활성화된 경우, 앱 스토어 승인 대기 없이 Capgo를 통해 픽스를 배포하세요. 사용자는 배경에서 업데이트를 받으며 네이티브 변경 사항은 일반 검토 경로에 남아 있습니다.

마틴의 인간 지원

시작하기

최신 블로그

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