내용으로 건너뛰기

iOS Sandbox Testing 구성

iOS 내 앱 구매 테스트를 위해 App Store Connect 및 테스트 장치에 적절한 구성이 필요합니다. 이 가이드는 샌드박스 테스트를 시작하기 위해 필요한 모든 것을 다룹니다.

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

설치 과정

설치 과정
  1. 애플 앱 스토어 연결에 서 서명한 애플리케이션을 지불하는 계약 서명

    App Store Connect에서 계약, 세금 및 은행 및 완료:

    • 애플이 지불하는 계약 서명에 서명
    • 은행 정보를 추가
    • 세금 서식 완료

    애플이 정보를 승인하기까지 24-48시간 기다립니다.

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

    App Store Connect에서 가서 사용자 및 액세스 > 샌드박스 테스터.

    새 샌드박스 테스터를 만들기 위해 + 버튼을 클릭하세요.

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

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

    샌드박스 테스터 만들기

  3. 테스트 장치 구성 (iOS 12+)

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

    iOS 장치에서:

    1. Open 설정
    2. Tap 앱 스토어
    3. 스크롤을 아래로
    4. Tap 샌드박스 계정
    5. 샌드박스 테스트 계정으로 로그인하세요
  4. Xcode 프로젝트 구성

    Xcode 프로젝트가 다음을 보유하고 있는지 확인하세요:

    Bundle Identifier

    • 개발자 센터에 등록된 식별자와 일치해야 합니다.
    • 앱 스토어 커넥트에 등록된 식별자와 일치해야 합니다.

    In-App 구매 기능

    1. Xcode에서 프로젝트를 선택하세요.
    2. 로 이동하세요. 인증 및 기능
    3. 클릭 + 기능
    4. 추가 In-App 구매
  5. Create In-App Purchase Products

    애플리케이션에 내 앱 구매 제품을 생성하세요. (구독, 소비 가능한 제품 등).

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

  6. 테스트 구현

    앱을 테스트 장치에 빌드하고 실행하세요. 구매 시도 시 다음과 같은 화면을 볼 수 있어야 합니다.

    [환경: 샌드박스]

    이 확인은 샌드박스 환경에서 실제 돈을 지불하지 않음을 의미합니다.

중요한 참고 사항

중요한 참고 사항

샌드박스 환경의 특성

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

샌드박스 계정 관리

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

샌드박스 테스트 사용

샌드박스 테스트 사용
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);

인증

인증

When properly configured, you should observe:

  1. 사andbox 배너 구매 중: '[환경: 사andbox]'
  2. 상품이 로드됩니다. 정상적으로
  3. 구매가 완료됩니다. 실제 요금이 청구되지 않습니다.
  4. 영수증이 올바르게 검증됩니다. 자동으로 (가속된 속도)
  5. 문제 해결 __CAPGO_KEEP_0__

__CAPGO_KEEP_0__

문제 해결

상품이 로드되지 않습니다.:

  • 앱 스토어 연결에 등록된 번들 식별자가 일치하는지 확인하세요.
  • 계약서가 서명되고 승인되었는지 확인하세요.
  • 제품이 최소 '제출 준비' 상태인지 확인하세요.
  • 제품을 생성한 후 2-3시간 기다려보세요.

“Cannot connect to iTunes Store”:

  • %s
  • iTunes 스토어에 연결할 수 없습니다.:
  • 샌드박스 계정 설정이 올바른지 확인하세요.
  • 디바이스가 인터넷에 연결되어 있는지 확인하세요.

샌드박스 계정에서 로그아웃하고 다시 로그인하세요. (만약 문제가 계속된다면, 앱을 재시작하세요.)

  • Xcode 콘솔에서 오류 메시지를 확인하세요.
  • In-App 구매 기능이 활성화되어 있는지 확인하세요.
  • 실제 Apple ID가 아닌 샌드박스 계정 이메일인지 확인하세요.
  • 새로운 샌드박스 테스트 계정을 생성해 보세요.

Receipt validation 오류:

  • 테스트 시 샌드박스 수신증명 확인 엔드포인트를 사용하세요.
  • 생산 엔드포인트: https://buy.itunes.apple.com/verifyReceipt
  • 샌드박스 엔드포인트: https://sandbox.itunes.apple.com/verifyReceipt
  • native-purchases 플러그인은 자동으로 처리합니다.

구독 기간이 잘못된 경우:

  • 구독은 샌드박스에서 가속되므로 기억하세요.
  • 위의 변환 차트를 사용하여 예상된 기간을 확인하세요.
  • __CAPGO_KEEP_0__ 자동 갱신은 샌드박스에서 최대 6회까지 가능합니다.

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

  • 새 샌드박스 계정의 경우 정상입니다.
  • 계정을 활성화하기 위해 구매를 계속 진행하세요.
  • 첫 번째 사용 시만 발생합니다.

최선의 방법

최선의 방법:
  1. 다양한 테스트 시나리오를 위해 여러 개의 테스트 계정을 생성하세요. 모든 구독 기간을 테스트하여 동작을 확인하세요.
  2. 취소와 갱신을 테스트하여 동작을 확인하세요. __CAPGO_KEEP_0__
  3. __CAPGO_KEEP_0__ 흐름
  4. 수령증 인증 정상 작동
  5. 구매 복원 테스트 기능
  6. 구독 업그레이드/다운그레이드 확인 행동
  7. kém 네트워크 조건 하에서 테스트

제품 출시 vs. 샌드박스

제목 “제품 출시 vs. 샌드박스”
기능샌드박스운영
실제 요금아니오
구독 기간가속일반
자동 갱신 제한6회무제한
취소 효과즉시기한 종료
수령자 정보테스트 환경 URL운영 환경 URL
테스트 계정만아니오

추가 리소스

추가 리소스

더 많은 정보는 공식 Apple StoreKit 문서를 참조하십시오 테스트 환경에서 테스트하는 방법에 대해.

iOS 샌드박스 테스트를 구성하여 계속하세요

iOS 샌드박스 테스트를 구성하여 계속하세요 섹션

__CAPGO_KEEP_0__을 사용하는 경우 iOS 샌드박스 테스트를 구성하여 __CAPGO_KEEP_0__을 __CAPGO_KEEP_0__/native-purchases와 연결하여 capgo/native-purchases에서 사용하는 @capgo/native-purchases의 네이티브 기능 capgo/__CAPGO_KEEP_1__-in-app-review에서 사용하는 구현 세부 정보를 위한 @capgo/__CAPGO_KEEP_1__-in-app-review capgo/capacitor-in-app-review에서 사용하는 @capgo/capacitor-in-app-review의 네이티브 기능 capgo/capacitor-in-app-review에서 사용하는 구현 세부 정보를 위한 @capgo/capacitor-native-market capgo/capacitor-native-market에서 사용하는 @capgo/capacitor-native-market의 네이티브 기능 capgo/capacitor-native-market에서 사용하는 구현 세부 정보를 위한 @capgo/capacitor-native-market capgo/capacitor-native-market에서 사용하는 @capgo/capacitor-native-market의 네이티브 기능 implementation 세부 사항을 @capgo/capacitor-native-market 에서 확인할 수 있습니다. Using @capgo/capacitor-native-market native capability을 @capgo/capacitor-native-market 에서 확인할 수 있습니다.