Как проверить «обновить» компонент автообновления подписок в iOS App Store Sandbox? - PullRequest
24 голосов
/ 06 июля 2011

Люди,

Я пытаюсь убедиться, что подписки с автоматическим продлением действительно обновляются в среде песочницы. Во-первых, кажется, что подписки с автообновлением в песочнице действительны только в течение 5 минут. Имеет смысл. Я ожидаю, что если я подожду пять минут, то сделаю еще один звонок на

https://sandbox.itunes.apple.com/verifyReceipt

С моими данными квитанции я должен увидеть возобновление подписки с истечением срока действия еще через пять минут.

К сожалению, это не так. Все, что я вижу, это ответ с latest_expired_receipt_info и статусом 21006, что означает «Эта квитанция действительна, но срок действия подписки истек» согласно документам Apple .

Может кто-нибудь сказать мне, могут ли они тестировать сквозную подписку с автоматическим продлением, включая этот компонент обновления? Или мне нужно запустить это приложение и скрестить пальцы, чтобы продукт работал как рекламируется?

В качестве альтернативы, есть ли какой-нибудь вызов на стороне клиента magic / API, который мне нужно выполнить перед повторной публикацией моих данных на URL verifyReceipt?

Здесь обсуждалась эта тема , но мне неясно, могу ли я / должен ли ожидать, что смогу повторно проверять подписки полностью на стороне сервера, публикуя URL-адрес verifyReceipt или если мне придется что-то делать и на стороне клиента.

Спасибо!

Ответы [ 3 ]

43 голосов
/ 13 июня 2012

Скопировано с форума разработчиков Apple, для тех, кто не хочет идти на форум ...

Понял (но не благодаря документации Apple):

1месяц подписки автоматически продлевается каждые 5 минут.Все идет нормально.Они автоматически обновляются 5 раз, а затем останавливаются, поэтому через 25 минут вы получите ошибку 21006.Однако даже при повторной покупке той же подписки она НЕ будет автоматически продлеваться снова на той же тестовой учетной записи, поскольку она уже продлена 5 раз.Так что, если вы хотите протестировать обновление, и какое-то время возились с этими подписками, вам нужно создать нового тестового пользователя itunes connect.Честно говоря, это очень раздражает, и было бы намного проще, если бы мы могли просто сбросить всю историю покупок тестовой учетной записи пользователя.Кроме того, было бы намного лучше поместить всю информацию о тестировании в приложении в документацию Xcode, а не распространять ее по документам Xcode / документам iTunes Connect / людям, которые сами разбираются в этом *

Надеюсь, это поможет.

6 голосов
/ 31 июля 2011

Этот разговор на форумах разработчиков Apple может пролить свет на эту проблему для тех, кто обнаружит этот пост: https://devforums.apple.com/thread/105350?tstart=0

3 голосов
/ 20 мая 2016

@ Лата Садхвани, разработчик приложения

Для тестирования подписок с автоматическим продлением срок действия составляет 5 минут. в песочнице (по крайней мере для ежемесячных подписок, не уверен, если это отличается для разных периодов). Так что при тестировании автообновления подписка в песочнице, она должна автоматически обновляться каждые 5 минут, и вы знаю, что они работают правильно.

Но есть одна проблема. Эти подписки автоматически обновляются только 5 раз (то есть покупка происходит 6 раз). После этого вы получите ошибку при проверке квитанции. Так что если вы хотите проверить после этого, вы нужно будет проверить с другой учетной записью IAP (да, это боль тестирование, особенно если вы уже давно это делаете!)

Чтобы проверить, была ли подписка отменена или действительна, ваш Код подтверждения получения необходимо будет проанализировать ответ от Apple серверы, и они говорят, что вы должны проверить каждую квитанцию. Если подписка истекла или была отменена, соответствующая ошибка код будет возвращен (ненулевой статус). Если он был продлен пользователь, самая последняя квитанция возвращается серверами Apple.

...