Как протестировать автоматическое продление в модели покупки в приложении

#iphone

#iPhone

Вопрос:

Я должен внедрить модель автоматического продления при покупке в приложении в моем приложении. Я создал тестового пользователя и получаю ответ из App Store на подписку. Когда я нажимаю « Confirm «, иногда его состояние становится SKPaymentTransactionStatePurchased , а иногда становится SKPaymentTransactionStateRestored . Моя проблема в том, что я хочу запретить пользователю использовать приложение, если он не подписался на приложение. Для этого я пытаюсь отслеживать состояние « SKPaymentTransaction «, чтобы я мог разрешить или запретить пользователю использовать приложение. Такое, что, если состояние SKPaymentTransactionStatePurchased , только тогда он сможет использовать приложение, но я не понимаю, как меняется его состояние.

Еще одна вещь: когда я нажимаю на « Settings «, чтобы управлять своим автоматическим продлением, мне показывают, что срок действия моего приложения истекает в текущую дату, то есть сегодня, но когда я нажимаю на кнопку « Confirm «, чтобы подписаться на мое приложение на один месяц, срок действия должен быть через месяц. Я не понимаю, как работает весь этот процесс.

Я прочитал всю документацию по автоматическому продлению, но не получил от этого никакой помощи.

Пожалуйста, помогите!

Ответ №1:

Не уверен насчет вашей первой проблемы. В моем случае я вообще не могу вызвать SKPaymentTransactionStateRestored. Я отлаживаю причину.

Тем временем я столкнулся со второй проблемой, которую вы описали. Когда я расшифровал квитанцию, похоже, что они сохраняют подписку действительной в течение 5 минут. Звучит как функция для тестирования в изолированной среде. По крайней мере, я так предполагаю.