Использование сторонних подписок
Во-первых, возможна поддержка существующей системы подписки в вашем приложении, но она должна быть в дополнение к подпискам в App Store. Также вы должны быть очень осторожны с пользовательским интерфейсом, который вы используете. Вы не можете предложить пользователям обойти App Store и совершить покупку через ваш сервер, но вы можете предложить существующим подписчикам возможность войти в систему с учетными данными, которые они могли ранее получить через ваш веб-сайт.
Тем не менее, Apple может быть довольно капризной в своих решениях о том, что разрешено, а что нет в App Store. Я работал над приложениями, которые делали подобные вещи, но они были для довольно известных журнальных публикаций. Нет никакой гарантии, что они разрешат это для всех.
Обнаружение неподписанных подписок в App Store
Что касается подписок в App Store, когда пользователь приобретает подписку в вашем приложении, он получает квитанцию в классе SKPaymentTransaction. Эта квитанция должна быть отправлена на ваш внутренний сервер, чтобы убедиться, что она действительна, прежде чем вы предоставите пользователю доступ к чему-либо. См. Руководство по программированию покупок в приложении а> для более подробной информации.
Когда вы настраиваете тип подписки, вы указываете, как долго длится эта подписка. Таким образом, если вы регистрируете дату транзакции в SKPaymentTransaction при получении квитанции, вы можете точно определить, когда должна истечь эта подписка, добавив продолжительность подписки к дате транзакции.
Если это автоматически продлеваемая подписка, вы получите новую квитанцию при продлении подписки. Поэтому, как только вы подтвердили это на своем внутреннем сервере, вы можете обновить дату истечения срока действия на основе новой даты транзакции. Если вы не получили новую квитанцию до истечения срока действия первой, вероятно, пользователь отменил свою подписку.
На бэкэнде ваш сервер также может сообщить, когда истечет срок действия конкретной подписки, на основе ответа сервера проверки. Во-первых, это код состояния, который сообщит вам, истек ли срок подписки, но также есть дата истечения срока действия, возвращаемая в расшифрованном чеке, который сообщит вам, когда ожидается истечение срока действия, если он еще не истек.
Дополнительные сведения см. в подписках с автоматическим продлением. документация.
Тестирование автоматического продления подписки
Стоит отметить, что когда вы тестируете автоматически продлеваемые подписки в среде песочницы App Store, длина различных типов подписок значительно сокращается, чтобы упростить тестирование. Например, подписка на 1 неделю длится всего 3 минуты в среде песочницы. Вы можете увидеть полный список раз в Руководство разработчика по iTunes Connect.
person
James Holderness
schedule
04.08.2013