В настоящее время я внедряю покупки In-App для нашего приложения iOS. В частности, я сейчас работаю над подписками. Мы предлагаем несколько условий для невозобновления подписки (1 месяц, 3 месяца, 6 месяцев) и подписку на автоматическое продление, которая длится 1 месяц за раз. Я установил систему, которая будет проверять всю ночь, если подписка на автообновление по-прежнему действительна и еще не была возвращена серверами проверки квитанций Apple. Для автоматического обновления подписки я могу ограничить это покупками, сделанными в прошлом месяце, так как после этого у меня должна быть либо новая транзакция для этого пользователя, либо срок действия подписки истек.Следует ли регулярно проверять подписку на iOS, не обновляющую подписку?
Мой вопрос заключается в том, что, если не обновляемые подписки также необходимо регулярно проверять, особенно для обновлений в поле cancellation_date
. В поле Receipt Validation Programming Guide поле cancelation_date не говорит о том, что оно относится только к автообновлению подписки. Тем не менее, несколько других документов и ответов (извините за отсутствие ссылок здесь) предположили, что это то, что вам нужно только для проверки обновлений в автоматическом обновлении подписки.
Я думаю, что единственная причина, по которой не возобновляемые подписки всегда возвращаются в квитанции транзакции, так это то, что приложения, которые не хранят эту информацию на своем сервере, могут восстановить абонентскую подписку. Однако, если транзакция также обновляется, если в платеже происходят какие-либо изменения, я очень хотел бы следить за этой информацией.
Поскольку у нас есть большое количество пользователей, и нам нужно проверить либо только платежи за последний месяц, либо все платежи за последние 6 месяцев имеют большое значение, я хотел бы услышать ваше мнение (и, надеюсь, опыт) в этом отношении.
Обратите внимание, что я ищу фактический опыт в этой проблеме или, в противном случае, некоторые убедительные доказательства. Просто «я бы догадался ...» мне не очень помогает, так как это до тех пор, пока я не получил себя на этом этапе;) –
@ У вас есть какой-либо код repos/sample GitHub, показывающий эту систему, у вас есть опрос серверов Apple и проверить пользователей, подписавшихся на вашу систему? Сейчас я сталкиваюсь с одной и той же проблемой. – GGCO
Мы этого не делаем, поскольку код нашей компании не является открытым. Однако есть множество примеров частей системы по всему Интернету. В основном, ваш рабочий процесс будет «покупать в приложении» -> «отправить квитанцию на ваш сервер» -> «проверить получение с помощью Apple» -> «сохранить статус/ошибку подписки в вашей базе данных» -> «сообщить вашему приложению самую последнюю подписку» информации для вашего пользователя ». Некоторые из этих частей - это просто ваша собственная реализация для приложения и сервера, но такие детали, как «проверка получения с Apple», имеют множество примеров в Интернете. –