iOS의 IAP 테스트 단계는 TestFlight 등록 전과 후, 크게 두 가지 시점으로 나눌 수 있다.
앱을 올린 후에는 TestFlight에 내외부 테스터 계정을 등록하여 쉽게 테스트할 수 있다.
그러나 Xcode에서 Archive를 하기 전에는 시뮬레이터나 디바이스에 앱을 구동하여 테스트를 하게 되는데,
이때 Sandbox 계정이 필요하다.
IAP Sandbox 계정 설정
인앱결제 시도시 아래와 같은 안내 창이 뜨게 된다.
이때 일반 상용앱이라면 내 단말에 로그인된 앱스토어 계정의 비밀번호를 입력하면 되겠지만,
현재는 [Environment: Sandbox]라는 메시지가 다른 환경임을 알려준다.
때문에 앱스토어 계정으로는 구입에 실패하고, Sandbox 계정의 비밀번호를 입력해야 한다.
* 주의) App Store Connect -> 나의 앱 -> <App name> -> TestFlight -> 테스터 및 그룹에 등록되어 계정으로 현재 단계에서 상품을 구입할 수 없다.
App Store Connect -> 사용자 및 액세스 -> Sandbox -> 테스터에서 계정을 추가해야 한다.
+ 버튼을 눌러 추가할 계정의 정보를 입력한다
이때 이메일은 Sandbox뿐만 아니라 앱스토어에 등록되지 않은 신규 이메일이어야 한다.
이미 사용중인 이메일 주소일 경우 등록되지 않는다.
(기존 계정을 Sandbox 계정으로 쓸 수 있는 방법이 있었다.)
Gmail의 경우 특수하게 메일 주소 앞 부분을 <id>+<\w+>형식으로 입력해도 모두 기본 주소로 이메일 포워딩이 된다.
예) 이메일 주소가 abcd@gmail.com일 경우, abcd+1234@gmail.com, abcd+1a2b@gmail.com으로 보내는 메일도 받을 수 있다.
이를 이용해 기존 앱스토어 계정이 Gmail일 경우, 이메일란에 위와 같은 방식으로 입력할 수 있었다.
그러나 현재는 막혀있는 상태다.
이제 등록한 Sandbox 계정을 iOS 단말에서 로그인하여 IAP를 이용할 수 있다.
설정 -> iTunes 및 App Store으로 가면 최상단에 'Apple ID: <Email Address>'로 로그인된 아이디가 나오는데 여기가 아니다!
최하단으로 스크롤을 내려보면 '샌드 박스 계정' 항목이 나온다.
이 곳에서 로그인을 해주면 IAP에서 이 계정을 사용해 결제를 시도한다.
TestFlight으로 받은 앱에서는 Sandbox 계정이 아닌 테스터 및 그룹에 등록된 앱스토어 계정으로 구입이 가능하다.
안내 메시지도 다르게 나온다.
'Unity & C# > iOS & Mac' 카테고리의 다른 글
IAP Restore Purchase (구매복구) (0) | 2020.08.19 |
---|