내용으로 건너뛰기

Configure iOS 샌드박스 테스트에서 계속

GitHub

iOS에서 인앱 구매 테스트를 위해서는 App Store Connect와 테스트 장치에 대한 올바른 설정이 필요합니다. 이 가이드는 샌드박스 테스트를 시작하기 위해 필요한 모든 것을 다룹니다.

사전 조건

필수 조건
  • 애플 개발자 프로그램: 연간 갱신이 필요한 활성 회원
  • 동의서: 은행 및 세금 정보가 완료된 '유료 애플리케이션 동의서'에 서명
  • Xcode 프로젝트: 올바른 번들 식별자와 기능성으로 구성

설치 과정

설치 과정
  1. 애플 결제 계약서에 서명하세요

    앱 스토어 연결에서 계약, 세금, 은행 및 완료:

    • 애플 결제 계약서에 서명하세요
    • 은행 정보를 추가하세요
    • 세금 신고서를 완료하세요

    애플이 정보를 승인하기까지 기다리세요 (24-48시간이 걸릴 수 있습니다.)

  2. 샌드박스 테스트 사용자 만들기

    앱 스토어 연결에서 사용자 및 액세스 > 샌드박스 테스트러.

    버튼 클릭 + 새 샌드박스 테스터를 만들기 위한 버튼.

    중요Apple ID와 연관된 이메일 주소를 사용하지 마세요. 이메일 별칭을 사용할 수 있습니다.

    • Gmail: youremail+test@gmail.com
    • iCloud: youremail+test@icloud.com

    샌드박스 테스터 만들기

  3. 설정

    iOS 12부터는 iTunes 계정에서 로그아웃하지 않아도 구매 테스트가 가능합니다.

    iOS 기기에서:

    1. 열기 설정
    2. 누르기 애플 스토어
    3. 하단으로 스크롤하세요
    4. 클릭 샌드박스 계정
    5. 샌드박스 테스트 계정으로 로그인하세요
  4. Xcode 프로젝트 설정

    Xcode 프로젝트에 다음을 확인하세요:

    Bundle Identifier

    • 개발자 센터에 등록된 식별자와 일치해야 합니다
    • App Store Connect에서 식별자와 일치해야 합니다.

    앱 내 구매 기능

    1. Xcode에서 프로젝트를 선택하세요.
    2. 로 이동하세요. 인증 및 기능
    3. 클릭하세요. 기능 추가
    4. 구매 구매
  5. 구매 제품 만들기

    앱 스토어 연결에서 앱을 탐색하고 구독, 소비 가능한 제품 등 구매 제품을 만들 수 있습니다.

    구매 제품은 최소 '제출 준비' 상태여야 하며 샌드박스 테스트를 위해.

  6. 구현 테스트

    테스트 기기에서 앱을 빌드하고 실행하세요. 구매 시도 시 다음과 같은 결과를 확인해야 합니다.

    [환경: 샌드박스]

    샌드박스 환경에서 실제 돈을 지불하지 않으므로 이 확인은 샌드박스 환경에 있다는 것을 의미합니다.

중요한 참고 사항

중요한 참고 사항

샌드박스 환경 특성

샌드박스 환경 특성
  • 실제 요금 청구 없음: 샌드박스 모드에서 모든 구매가 무료입니다.
  • 가속된 구독: 구독 기간이 더 짧아 빠른 테스트를 위해 구독 기간이 단축됩니다.
    • 1주간 구독 = 3분
    • 1개월 구독 = 5분
    • 2개월 구독 = 10분
    • 3개월 구독 = 15분
    • 6개월 구독 = 30분
    • 1년 구독 = 1시간
  • 자동 갱신 제한: 샌드박스에서 구독이 6회 자동 갱신됩니다.
  • 즉시 취소: 취소된 구독은 즉시 만료됩니다.

샌드박스 계정 관리

샌드박스 계정 관리
  • 다양한 시나리오를 위한 여러 테스트 계정을 생성하세요.
  • 테스트 계정을 테스트 기기에서만 사용하세요.
  • 사andbox 테스트를 위해 개인 Apple ID를 사용하지 마세요.
  • 테스트 계정은 지역에 관계없이 제품을 구매할 수 있습니다.

사andbox 테스트를 사용하는 방법

사용 사andbox 테스트를 사용하는 방법
import { NativePurchases, PURCHASE_TYPE } from '@capgo/native-purchases';
const { isBillingSupported } = await NativePurchases.isBillingSupported();
if (!isBillingSupported) {
throw new Error('StoreKit not supported on this device');
}
// Fetch products (automatically uses sandbox when available)
const { products } = await NativePurchases.getProducts({
productIdentifiers: ['premium_monthly'],
productType: PURCHASE_TYPE.SUBS,
});
// Make test purchase
const transaction = await NativePurchases.purchaseProduct({
productIdentifier: 'premium_monthly',
productType: PURCHASE_TYPE.SUBS,
});
console.log('Test purchase successful!', transaction.transactionId);

사andbox 배너

  1. 구매 중: '[환경: 사andbox]' 사andbox 테스트를 사용하는 경우
  2. 제품 로드 성공적으로 로드
  3. 구매 완료 실제 요금으로는 청구되지 않습니다
  4. 영수증 검증 정확하게 검증
  5. 구독 갱신 자동 갱신 (속도 증가)

문제 해결

문제 해결

제품 로드 중 오류:

  • App Store Connect의 Bundle Identifier를 확인하세요
  • 계약서가 서명되고 승인되었는지 확인하세요.
  • 제품이 최소 '제출 준비' 상태인지 확인하세요.
  • 제품을 생성한 후 2-3시간 기다려보세요.

“Cannot connect to iTunes Store”:

  • 샌드박스 계정이 올바르게 구성되었는지 확인하세요.
  • 장치가 인터넷에 연결되어 있는지 확인하세요.
  • 샌드박스 계정에서 로그아웃하고 다시 로그인해 보세요.
  • 앱을 다시 시작하세요.

구매가 조용히 실패하는 경우:

  • Xcode 콘솔에서 오류 메시지를 확인하세요.
  • In-App Purchase 기능이 활성화되었는지 확인하세요.
  • Apple ID가 실제 이메일인지 샌드박스 계정 이메일인지 확인하세요.
  • 새로운 샌드박스 테스트 계정을 만들기 위해 시도해 보세요

수신증명 오류:

  • 테스트 중에 샌드박스 수신증명 엔드포인트를 사용하세요
  • 생산 엔드포인트: https://buy.itunes.apple.com/verifyReceipt
  • 샌드박스 엔드포인트: https://sandbox.itunes.apple.com/verifyReceipt
  • 네이티브-구매 플러그인은 이 작업을 자동으로 처리합니다

구독 기간이 잘못되었습니다:

  • 샌드박스에서 구독은 가속되므로 기억하세요
  • 예상 기간을 위의 변환 차트를 사용하세요
  • 샌드박스에서 구독은 최대 6회 자동 갱신됩니다

“이 애플 ID는 아직 iTunes Store에서 사용되지 않았습니다”:

  • 새로운 샌드박스 계정의 경우 이것은 정상입니다
  • 구매를 진행하여 계정을 활성화하세요
  • 첫 번째 사용 시만 발생합니다
  1. 다양한 테스트 시나리오를 위해 여러 개의 테스트 계정을 생성하세요 다양한 테스트 시나리오를 위해 여러 개의 테스트 계정을 생성하세요
  2. 모든 구독 기간을 테스트하여 동작을 확인하세요 동작을 확인하세요
  3. 취소 및 갱신 흐름을 테스트하세요 흐름
  4. 받은 금액 확인이 올바르게 동작하는지 확인하세요 올바르게 동작하는지 확인하세요
  5. 구매 복원 테스트 기능
  6. 구독 업그레이드/다운그레이드 확인 행동
  7. kém 네트워크 조건 하에서 테스트

제품 출시 vs. 샌드박스

제목: 제품 출시 vs. 샌드박스
기능샌드박스제품 출시
실제 요금 청구아니오
구독 기간가속일반
자동 갱신 제한6회무제한
취소 효과즉시기간 종료
영수증 엔드포인트샌드박스 URL실제 URL
테스트 계정만아니오

추가 리소스

추가 리소스 섹션

자세한 내용은 공식 Apple StoreKit 문서를 참조하십시오. 샌드박스 테스트에 대한 설명입니다. Configure iOS Sandbox Testing에서 계속 진행하세요.

Configure iOS Sandbox Testing에서 계속 진행하는 방법

Capacitor를 사용하는 경우

Capacitor를 사용하는 경우 iOS 샌드박스 테스트 설정 스토어 승인 및 배포를 계획하고, Capacitor의 @capgo/native-purchases Capacitor의 native 기능인 @capgo/native-purchases Capacitor의 @capgo/capacitor-in-app-review Capacitor의 implementation detail인 @capgo/capacitor-in-app-review Capacitor의 @capgo/capacitor-in-app-review Capacitor의 native 기능인 @capgo/capacitor-in-app-review Capacitor의 @capgo/capacitor-native-market Capacitor의 implementation detail인 @capgo/capacitor-native-market, Capacitor의 @capgo/capacitor-native-market Capacitor의 native 기능인 @capgo/capacitor-native-market