iOS Sandbox Testing 구성
설치 단계와 이 플러그인에 대한 전체 마크다운 가이드를 포함한 설정 프롬프트를 복사하세요.
iOS 내 앱 구매 테스트를 위해 App Store Connect 및 테스트 장치에 적절한 구성이 필요합니다. 이 가이드는 샌드박스 테스트를 시작하기 위해 필요한 모든 것을 다룹니다.
필수 조건
필수 조건 섹션- 애플 개발자 프로그램: 연간 갱신이 필요한 활성 회원
- 합의: 은행 및 세금 정보가 완료된 '유료 애플리케이션 계약'에 서명
- Xcode 프로젝트: 적절한 번들 식별자와 기능성으로 구성
설치 과정
설치 과정-
애플 앱 스토어 연결에 서 서명한 애플리케이션을 지불하는 계약 서명
App Store Connect에서 계약, 세금 및 은행 및 완료:
- 애플이 지불하는 계약 서명에 서명
- 은행 정보를 추가
- 세금 서식 완료
애플이 정보를 승인하기까지 24-48시간 기다립니다.
-
샌드박스 테스트 사용자 만들기
App Store Connect에서 가서 사용자 및 액세스 > 샌드박스 테스터.
새 샌드박스 테스터를 만들기 위해 + 버튼을 클릭하세요.
중요:Apple ID와 이미 연관된 이메일 주소를 사용하지 마세요. 이메일 별칭을 사용할 수 있습니다:
- Gmail:
youremail+test@gmail.com - iCloud:
youremail+test@icloud.com

- Gmail:
-
테스트 장치 구성 (iOS 12+)
iOS 12부터는 iTunes 계정에서 로그아웃하지 않아도 구매 테스트가 가능합니다.
iOS 장치에서:
- Open 설정
- Tap 앱 스토어
- 스크롤을 아래로
- Tap 샌드박스 계정
- 샌드박스 테스트 계정으로 로그인하세요
-
Xcode 프로젝트 구성
Xcode 프로젝트가 다음을 보유하고 있는지 확인하세요:
Bundle Identifier
- 개발자 센터에 등록된 식별자와 일치해야 합니다.
- 앱 스토어 커넥트에 등록된 식별자와 일치해야 합니다.
In-App 구매 기능
- Xcode에서 프로젝트를 선택하세요.
- 로 이동하세요. 인증 및 기능
- 클릭 + 기능
- 추가 In-App 구매
-
Create In-App Purchase Products
애플리케이션에 내 앱 구매 제품을 생성하세요. (구독, 소비 가능한 제품 등).
제품은 최소 '제출 준비' 상태여야 하며 샌드박스 테스트를 위해.
-
테스트 구현
앱을 테스트 장치에 빌드하고 실행하세요. 구매 시도 시 다음과 같은 화면을 볼 수 있어야 합니다.
[환경: 샌드박스]
이 확인은 샌드박스 환경에서 실제 돈을 지불하지 않음을 의미합니다.
중요한 참고 사항
중요한 참고 사항샌드박스 환경의 특성
샌드박스 환경의 특성- 실제 요금 청구 없음: 모든 구매는 샌드박스 모드에서 무료입니다
- 급속한 구독: 구독 기간이 단축되어 빠른 테스트를 위해 사용됩니다
- 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 purchaseconst transaction = await NativePurchases.purchaseProduct({ productIdentifier: 'premium_monthly', productType: PURCHASE_TYPE.SUBS,});
console.log('Test purchase successful!', transaction.transactionId);인증
인증When properly configured, you should observe:
- 사andbox 배너 구매 중: '[환경: 사andbox]'
- 상품이 로드됩니다. 정상적으로
- 구매가 완료됩니다. 실제 요금이 청구되지 않습니다.
- 영수증이 올바르게 검증됩니다. 자동으로 (가속된 속도)
- 문제 해결 __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에서 사용되지 않았습니다.:
- 새 샌드박스 계정의 경우 정상입니다.
- 계정을 활성화하기 위해 구매를 계속 진행하세요.
- 첫 번째 사용 시만 발생합니다.
최선의 방법
최선의 방법:- 다양한 테스트 시나리오를 위해 여러 개의 테스트 계정을 생성하세요. 모든 구독 기간을 테스트하여 동작을 확인하세요.
- 취소와 갱신을 테스트하여 동작을 확인하세요. __CAPGO_KEEP_0__
- __CAPGO_KEEP_0__ 흐름
- 수령증 인증 정상 작동
- 구매 복원 테스트 기능
- 구독 업그레이드/다운그레이드 확인 행동
- 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 에서 확인할 수 있습니다.