2011-04-06 2 views
7

내 앱에서 자동 갱신 구독을 구현 중이며 구독 기간이 만료되고 새 트랜잭션이 생성 될 때 시뮬레이션 할 수있는 방법이 있는지 궁금합니다.재생 가능 구독 (App Store)을 테스트하는 방법

앱이 항상 프리미엄 액세스 권한이 있는지 여부를 추적하는 온라인 서비스에 연결됩니다. i를 이해하는 것처럼, 거래가 이루어지는시기를 감지하는 두 가지 방법이 있습니다.

  1. 앱이 실행되고 updatedTransactions :가 PaymentObserver에서 SKPaymentTransactionStateRestored로 호출됩니다. 그런 다음 앱에서 구독 정보를 업데이트하는 서버로이 정보를 보냅니다.

  2. 정기적으로 App Store API를 확인하고 "최신 영수증"을 내 데이터베이스의 것과 비교하십시오. 새로운 것이 있으면 트랜잭션이 만들어지고 구독을 연장합니다.

어느 쪽이든, 구독 기간이 만료되고 App Store에서 새로운 거래가 이루어지는 것을 시뮬레이션해야합니다. 어떻게해야합니까?

답변

2

정말 이것을 시뮬레이션해야합니까? 샌드 박스에서 구독 기간이 매우 짧아 커피 또는 무언가를 마시면 만료되며 이후에 어떤 일이 발생하는지 테스트 할 수 있다는 것을 알게 될 것입니다.

기간은 구독 기간에 따라 다르지만 샌드 박스에서 7 일 구독이 만료되는 것으로 간주됩니다.

+0

아, 그 사실을 알아 채지 못했습니다, 감사합니다! – oskob

+0

오른쪽, 샌드 박스에서 마지막으로 7 일 구독 * 3 분 *. – yonel

+2

주의 사항 : 구독은 자동으로 5 회만 갱신됩니다. 그 후에 구매하면 더 이상 자동 갱신되지 않습니다. 새 테스트 사용자를 만들어야합니다! – Jarson

3

샌드 박스 환경은 자동으로 가입 갱신을 시뮬레이션합니다. 1 년 구독은 1 시간마다 갱신됩니다. 1 개월 가입은 5-6 분마다 갱신됩니다.

각 구독은 5 배 갱신됩니다. 이 시점에서 구독이 취소됩니다. 갱신 할 때마다 클라이언트 응용 프로그램에 전송 된 복원 된 트랜잭션이 트리거됩니다.

이것은 모두 내 경험에 근거한 것입니다. 나는 공식적인 문서를 찾을 수 없다.

+2

모두 여기에 설명되어 있습니다 (개발자 로그인 필요) : http://itunesconnect.apple.com/docs/iTunesConnect_DeveloperGuide.pdf – TomSwift

0

사실 샌드 박스에서 갱신이 작동하지 않는 것 같습니다. 항상 구매 과정에있는 것처럼 보입니다. AppStore는 사용자가 명시 적으로 "취소"할 때까지 AppStore가 자동으로 다시 실행하므로 자동 갱신은 "섀도 잉"으로 간주됩니다. 샌드 박스에서 5 분마다 다시 구매해야합니다.

마지막으로 적절한 거래를 보내야하는 '이미 인앱 구매'에 버그가 있지만 단지 오류 코드 만 전송합니다.

0

사실 저는 샌드 박스를 갱신하는 것이 매우 예측하기 힘듭니다. 때로는 기술 된대로 작동하고 때로는 완전히 다르게 작동하기도합니다. 때때로 작동하지 않습니다 (실제로 자동 업데이트 기능이있는 구독으로 인앱 구매를 실제로 사용하는 상점의 앱을 사용하는 개발자로서 프로덕션 환경에서는 성공적으로 작동합니다). 바로 그 순간에 27 시간 전의 원래 구입 날짜와 3 시간 만료 날짜가있는 샌드 박스에 월간 가입이 있습니다. 응답이 불합리한 경우 어떻게 테스트해야하는지 궁금합니다.

관련 문제