Как проверить возобновляемые подписки (App Store) - PullRequest
7 голосов
/ 06 апреля 2011

Я внедряю в своем приложении автоматически возобновляемые подписки, и мне интересно, есть ли способ имитировать, когда заканчивается период подписки и создается новая транзакция.

Приложение подключено к онлайн-сервису, который всегда отслеживает пользователей и имеет ли они «премиальный доступ» или нет. Как я понимаю, есть два способа обнаружить, когда сделка сделана.

  1. Приложение запущено и обновлено Transaction: вызывается в моем PaymentObserver как SKPaymentTransactionStateRestored. Затем я из приложения отправляю эту информацию на сервер, который обновляет подписку.

  2. Я регулярно проверяю API App Store и сравниваю «последний чек» с тем, что есть в моей базе данных. Если есть новый, сделка была сделана, и я продляю подписку.

В любом случае, мне нужно смоделировать, что период подписки истекает и в App Store выполняется новая транзакция. Как мне это сделать?

Ответы [ 4 ]

4 голосов
/ 16 мая 2011

Среда песочницы автоматически имитирует продление подписки. Подписки на 1 год будут обновляться каждые 1 час. Подписки на 1 месяц обновляются каждые 5-6 минут.

Каждая подписка обновляется 5 раз. В этот момент подписка отменяется. Каждое обновление запускает восстановленную транзакцию, отправленную клиентскому приложению.

Все это основано на моем опыте. Я не могу найти официальную документацию для Apple.

2 голосов
/ 29 апреля 2011

Вы уверены, что вам нужно смоделировать это? Я думаю, вы обнаружите, что в «песочнице» длины подписки сделаны очень короткими, так что все, что вам нужно сделать, это получить чашку кофе или что-то еще, и они истекают, а затем вы можете проверить, что происходит.

количество времени варьируется в зависимости от продолжительности подписки, но я думаю, что срок действия 7-дневной подписки истекает через несколько минут в песочнице.

0 голосов
/ 15 мая 2013

На самом деле, я чувствую, что обновление в Песочнице очень непредсказуемо. Иногда это работает как описано, иногда это работает совсем по-другому, иногда это не работает вообще (говоря, что как разработчик с приложением в магазине, которое фактически использует покупки в приложении с автоматически возобновляемыми подписками, по-видимому, успешно в производстве). Как раз в данный момент у меня есть ежемесячная подписка в песочнице, которая имеет первоначальную дату покупки от 27 часов назад и дату окончания срока действия три часа назад. Мне действительно интересно, как вы должны это проверять, если ответы такие абсурдные.

0 голосов
/ 01 июля 2011

На самом деле обновление не работает в Песочнице. Похоже, вы всегда в процессе покупки. Предполагается, что автообновление будет «затенено», поскольку AppStore будет автоматически повторять его, пока пользователь явно не «отменит» его. В Песочнице каждые 5 минут вы должны покупать снова.

Наконец, есть ошибка в «Вы уже купили это приложение», так как предполагается, что он отправляет правильную транзакцию, но он просто отправляет код ошибки.

...