메인 콘텐츠로 건너뛰기

2025년 애플 스토어 리뷰 통과를 위한 IAP 방법

iOS와 Android에서 IAP가 포함된 앱을 승인받기 위한 완전한 가이드입니다. 2025년의 일반적인 거부 사유, 요구 사항 및最佳 관행을 학습하세요.

마틴 도나디우

마틴 도나디우

컨텐츠 마케터

2025년 애플 스토어 리뷰 통과를 위한 IAP 방법

애플 스토어와 구글 플레이에서 앱을 승인받는 것은 어려울 수 있습니다. IAP와 구독을 구현하는 경우 especialmente. 2025년의 더 엄격한 지침을 이해하는 것은 중요합니다. 리뷰어들이 무엇을 찾는지 이해하는 것은 중요합니다. 이 포괄적인 가이드는 첫 번째 제출에서 리뷰 통과를 위해 필요한 모든 것을 다룹니다.

앱 스토어 리뷰 통과 방법에 대한 자세한 설정 지침이 필요합니까? 다음 완전한 지침을 확인하세요: iOS 앱 스토어 리뷰 | Android 플레이 스토어 리뷰

IAP를 포함한 앱이 거부되는 이유

IAP를 포함한 앱은 실제 돈 거래를 포함하므로 더 높은 심사 기준을 받습니다. 애플의 앱 스토어 리뷰 지침 그리고 구글 플레이의 수익화 정책따라서 2025년 상위 거부 사유는:

  1. 가격이 불분명합니다. (2025년 거부 사유 42%)
  2. 구매 또는 구독 관련 정보 누락 또는 혼란 (31%)
  3. 위장 UI 패턴 (18%)
  4. 개인 정보 보호 정책 위반 (9%)

이러한 함정에 빠지지 않기 위해 어떻게 해야 하는지 알아보겠습니다.

iOS 앱 스토어 요구 사항

📖 iOS 앱 스토어 가이드: 완전한 설정 지침을 보려면 iOS 앱 스토어 리뷰 가이드

1. 투명한 가격 정보

애플은 구매 버튼 이전에 정확한 가격 정보를 공개해야 합니다. 이전 구매 버튼 이전에 가격 정보를 공개해야 합니다. 이것은 협상할 수 없는 요구 사항입니다.

애플이 원하는 것:

  • 가격이 명확하게 표시되었습니다: “월 $9.99”
  • Billing frequency stated upfront
  • 사용자가 돈을 지불한 대가
  • 요금이 발생하는 시기
  • 취소 방법이 표시되어 있습니다

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. 구독 계획 제시

필수:

모든 구독 등급을 동일하게 표시

  • 고급 옵션을 미리 선택하지 않기
  • 기능 비교가 명확하게 나타나기
  • 저렴한 대안을 쉽게 찾을 수 있게 하기
  • App Store listing

금지된 항목:

  • 자동으로 연간 계획으로 전환
  • 월별 옵션을 숨기기
  • 카운트다운 타이머를 사용하여 가짜 긴급성을 만들기
  • ‘남은 자리 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년은 개인정보 보호 강화의 해입니다. 애플은 다음과 같이 요구합니다:

모든 권한에 대해:

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

예시 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년의 주요 거부 사유 중 하나는 개인 정보 보호 레이블의 정확성입니다.

안드로이드 Google Play 요구 사항

📖 전체적인 안드로이드 가이드: 설정에 대한 자세한 지침은 우리의 애플 스토어 리뷰 가이드

1. Google Play Billing 의무

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

디지털 상품 (Play Billing 사용 필수):

  • 기능의 구독
  • 앱 내 화폐
  • 전자책, 음악 등 디지털 콘텐츠
  • 프리미엄 언락

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

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

native-purchases: 구현

Android 설정을 완료하려면 Android 샌드박스 테스트 그리고 구독 만들기.

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 Console에 개인 정보 보호 정책 URL
  2. 앱 내에서 개인 정보 보호 정책 링크 접근 가능
  3. 정확한 데이터 안전 섹션 선언

데이터 안전 선언해야 함:

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

앱 설명 지침

일반적인 거부 사유

1. 메타데이터 불일치

왜 실패하는가:

  • 스크린샷은 현재 버전의 기능이 아닌 것을 보여주고 있습니다.
  • 설명은 실제로 존재하지 않는 기능을 약속하고 있습니다.
  • 가격은 앱 내에 다른 것으로 다릅니다.

메타데이터 체크리스트

예방책:

  • 스크린샷을 매 제출마다 업데이트 합니다.
  • 설명은 실제 기능과 일치시킵니다.
  • 모든 주장은 정확한지 테스트합니다.
  • 기존 홍보 문구를 제거합니다.

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 품질

  • 런칭 시 충돌이 없습니다.
  • 모든 기능이 설명과 일치합니다.
  • 오류 처리가 implement되었습니다.
  • 로딩 상태가 표시됩니다.
  • 네트워크 오류가 처리되었습니다.

리뷰 타임라인 예상

리뷰 일정

iOS:

  • 표준: 24-48시간
  • Peak 기간: 3-5일
  • 주말: 리뷰 없음
  • 급속화: 심각한 버그에 대해 가능

Android:

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

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

거부된 경우 무엇을 할까요?

정정 과정

1단계: 문제를 이해하세요.

  • 거부 통지를 신중히 읽으세요.
  • 특정 가이드라인을 인용하세요.
  • 제공된 예시를 확인하세요.
  • 피드백에서 패턴을 찾으세요.

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

  • 원인에 대처하세요, 증상에 대처하지 마세요.
  • 수정 사항을 철저히 테스트하세요.
  • 모든 변경 사항을 문서화하세요.
  • __CAPGO_KEEP_0__

__CAPGO_KEEP_0__

4단계: 신속한 재제출

__CAPGO_KEEP_0__

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.

안드로이드 항의:

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 변경 사항

__CAPGO_KEEP_0__

인공지능 기능 공개 __CAPGO_KEEP_0__

  • 인공지능 생성 콘텐츠에 레이블을 지정해야 함
  • 인공지능 사용 설명
  • 콘텐츠 안전성 문서화

강화된 구독 명확성

  • 사이드 바이 사이드 플랜 비교 필요
  • 비용이 저렴한 옵션 숨기지 않음
  • 명확한 업그레이드/다운그레이드 경로

개인 정보 강화

  • 5.1.1 조항 강화
  • 데이터 정당성에 대한 더 많은 심사
  • 더 엄격한 어린이 앱 규칙

Android 변경 사항

대안 결제 (지역)

  • EEA, 한국에서 허용
  • Google Play 옵션을 여전히 제공해야 함
  • 서비스 수수료 감소

구독 API 요구 사항

  • 새로운 앱은 monetization.subscriptions API를 사용해야 함
  • 기존 결제 API가 deprecated
  • 구독 관리 도구 개선

성공을 위한最佳 관행

1. 올바른 SDK를 사용하세요.

The @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'
});

2. 올바른 오류 처리를 구현하세요.

모든 구매 상태를 부드럽게 처리하세요:

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

3. 명확하게 의사소통하세요.

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

  • 그들이 무엇을 구매하는지
  • 그것이 얼마나 비용이 들는지
  • 그들이 얼마나 과금될지
  • 취소 방법
  • trial 후에 무슨 일이 일어나는지

4. 광범위한 테스트

iOS 샌드박스:

  • App Store Connect에서 테스트 계정을 생성하세요
  • 장치에서 설정 (설정 > 앱 스토어 > 샌드박스)
  • 가속된 구독 기간에 주의하세요

안드로이드 라이선스 테스트:

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

자원

플랫폼 문서

implementation 지침

상세 리뷰 가이드

전문가의 도움 필요하신가요?

앱 리뷰나 IAP 구현에 어려움을 겪으신다면, 우리의 팀은 IAP 구현 및 리뷰 준비를 위한 전용 지원을 제공합니다.

우리와의 상담 전화 예약 개인화된 도움을 받으려면:

  • IAP 구현 리뷰
  • 앱 스토어 리뷰 준비
  • 제출 전략 지침
  • 문제 해결 도움말
  • 설정 및 테스트 지원 완료

2025년 앱 스토어 리뷰 통과에 성공한 수백 개의 앱에 도움을 주었습니다!

결론

2025년 앱 스토어 리뷰 통과를 위해 앱 내 구매 기능을 사용하는 경우 세부 사항에 주의를 기울이고 명확한 의사소통 및 적절한 구현이 필요합니다. 주요 결론은 다음과 같습니다:

  1. 투명성이 필수적입니다 - 항상 가격을 미리 표시하세요
  2. 플랫폼 규칙을 따르세요 - 사용해야 하는 청구 시스템을 사용하세요
  3. 적극적으로 테스트하세요 - 리뷰어들이 먼저 발견하는 문제를 사전에 발견하세요
  4. 명확한 의사소통 - 사용자는 혼란스럽지 않아야 합니다.
  5. 문서를 준비하세요. - 테스트 계정들이 준비되어야 합니다.

이 가이드를 따라하고 native-purchases 플러그인을 사용하여 적절한 도구를 사용하면 첫 번째 승인에 대한 기회를 크게 높일 수 있습니다. 주의하세요: 검토자는 사용자를 존중하고 지침을 따르는 앱을 찾고 있습니다. 사용자와 지침을 존중하는 마음으로 개발하면 승인이 따를 것입니다.인앱 구매를 구현하는 데 도움이 필요하신가요?

자세한 설명서를 확인하거나 커뮤니티에서 지원을 받으세요.

How to Pass App Store Review for In-App Purchases in 2025에서 계속하세요. __CAPGO_KEEP_0__ __CAPGO_KEEP_0__ __CAPGO_KEEP_0__

__CAPGO_KEEP_0__

애플 스토어 리뷰 통과 방법을 사용 중이라면 2025년 앱 스토어 리뷰 통과 방법을 사용하여 스토어 승인 및 배포를 계획하고 연결하려면 @capgo/capacitor-in-app-review for the implementation detail in @capgo/capacitor-in-app-review, Using @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 Capacitor OTA 업데이트 가이드.

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

앱 스토어 검토를 통과하기 위해 Capgo을 사용하여 웹 레이어 버그를 즉시 수정하고 사용자에게 배포할 수 있습니다. 사용자는 배경에서 업데이트를 받으면서 네이티브 변경 사항은 일반 검토 경로를 유지합니다.

마틴의 인간 지원

시작하기

최신 블로그

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