Покупки и подписки в приложениях для iOS: тестирование

Один из моих колледжей реализовал ежемесячное автоматическое обновление покупок в приложении для iOS. Я беру кодовую базу и хочу проверить, работает ли она. Я знаю, что покупка работает, но меня беспокоит автоматическое продление.

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

Однако через 5 минут я не получаю никаких сообщений от Apple? нужно ли мне?

В AppDelegate у меня есть

 inAppPurchase = [TFInAppPurchase new];
[[SKPaymentQueue defaultQueue] addTransactionObserver:inAppPurchase];
[inAppPurchase updateAvailableProductsCache];

Я ожидаю, что через 5 минут сработает уведомление или что-то в этом роде?


person Burf2000    schedule 05.02.2013    source источник


Ответы (3)


Уведомления нет. Вы сами отслеживаете это (длительность). Вы получаете квитанцию ​​с исходной транзакцией, которую вы сохраняете. Используйте это, чтобы убедиться (возможно, при каждом запуске), что подписка пользователя все еще активна.

person Joris Weimar    schedule 06.02.2013

В отн. ="noreferrer">Руководство по разработке iTunes, есть список того, как долго автоматически продлеваются подписки в режиме песочницы:

Тестирование ваших встроенных покупок в тестовой среде

Вы должны протестировать свои покупки в приложении в тестовой среде, прежде чем отправлять их на проверку в Apple. Вы должны сначала выйти из своей учетной записи iTunes Store в настройках тестового устройства, прежде чем пытаться использовать среду песочницы. Если вы по ошибке используете учетные данные тестовой учетной записи пользователя для входа в производственную среду на тестовом устройстве (вместо входа в тестовую среду), учетные данные вашей учетной записи становятся недействительными и не могут быть снова использованы в качестве тестовой учетной записи. Дополнительные сведения о том, как избежать ошибок при использовании тестовой учетной записи, см. в разделе «Использование тестовых учетных записей пользователей».

При тестировании автоматически возобновляемых подписок на покупку в приложении в среде песочницы время продолжительности будет сжато, чтобы обеспечить более упорядоченное тестирование. Кроме того, подписка на песочницу будет автоматически продлеваться не более 6 раз. После автоматического продления подписки 6 раз она больше не будет продлеваться в песочнице. Сжатые времена продолжительности следующие:

   Actual duration      Sandbox duration
   1 week               3 minutes 
   1 month              5 minutes
   2 months             10 minutes 
   3 months             15 minutes 
   6 months             30 minutes 
   1 year               1 hour
person Scott Bossak    schedule 05.02.2013
comment
Спасибо, к сожалению, я уже знаю это, однако я не получаю обновления через 5 минут или что-то в этом роде, поэтому я разместил вопрос - person Burf2000; 05.02.2013
comment
Вы проверяете квитанцию? Apple не публикует уведомления об истечении срока подписки. Вам решать, действительна ли подписка? При проверке код 21006 является просроченной квитанцией. developer.apple.com/library/ios/#documentation/ - person Scott Bossak; 05.02.2013
comment
Как насчет продления, отправляет ли Apple уведомление о продлении? Я не проверяю квитанции, я просто хочу добавить месяц к cms, который контролирует систему каждый раз, когда они обновляются - person Burf2000; 05.02.2013
comment
Возможно, вам придется проверить поле latest_receipt_info в квитанции, чтобы проверить последнюю дату истечения срока действия. Apple не публикует уведомления о IAP. Это может помочь вам с проверкой квитанций: beeblex.com/public - person Scott Bossak; 05.02.2013
comment
У меня есть рабочая ссылка продолжительности песочницы nathanmock.com/files/ - person पवन; 18.09.2014
comment
Вот обновленная ссылка на документ Apple: Тестирование автоматически возобновляемых подписок - person n8tr; 14.01.2015

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

Когда проверка проходит успешно, ваше приложение активирует приобретенные функции, например, загружая контент или добавляя функции. Когда проверка не проходит, ваше приложение просто не активирует эту функцию.

person Lova    schedule 18.08.2014