Извините за миллионный вопрос о подписках на iTunes, но у меня все еще есть несколько сомнений.В приложении автоматически возобновляемые подписки
В основном я внедряю автоматические возобновляемые подписки в своем приложении, и я хочу убедиться, что все правильно. Вот список шагов, чтобы принять, что я придумал:
- всякий раз, когда пользователь покупает подписку, отправить квитанцию на сервер для проверки его
- если квитанция действительна, сохраните его на база данных
- при загрузке приложения, попросите сервер, если квитанция для этого UDID существует (это выяснить, если пользователь имеет действующую подписку)
- если да, то проверить, если Пункт РЭБ был добавлен в хранилище в диапазоне дат с момента подписки начальной до истечения даты
- , если таковые имеются, уведомлять пользователя о тех пунктов, в некотором роде, и помечать их как свободно загружаемое
- если да, то проверить, если Пункт РЭБ был добавлен в хранилище в диапазоне дат с момента подписки начальной до истечения даты
Правильны ли эти шаги? И если да, то почему документ Apple, говорят:
В большинстве случаев клиентское приложение IOS не нужно менять. Фактически, ваше клиентское приложение теперь упрощается, так как вы можете использовать тот же код для восстановления автоматически возобновляемых подписки, как и для восстановления неиспользованных продуктов. Это описано в разделе «Восстановление транзакций». Ваше приложение получает отдельную транзакцию за каждый период времени, когда подписка была возобновлена; ваша заявка должна проверять каждую квитанцию отдельно.
Для меня это выглядит, как это нужно код, чтобы обрабатывать все различные случаи я уже упоминал, вместо этого. Или я совершенно не прав. Я?
Плюс, как узнать о дате истечения срока подписки? Я не могу найти способ получить эту информацию в любом месте. Я должен сохранить это в своей собственной базе данных?
Update:
Я понял несколько вещей, так как я отправил этот вопрос. Не стесняйтесь исправить меня, если я ошибаюсь.
Прежде всего, я предполагаю, что я должен хранить длину подписки где-то в своей собственной базе данных, потому что, как указано в документах от Apple, вы не можете получить ее каким-либо образом через веб-службы Apple. Фактически, каждая длина подписки имеет другой идентификатор продукта, поэтому у вас должен быть способ конвертировать идентификатор продукта в длину подписки.
Кроме того, Sylvian has posted подробно о его внедрении автоматических возобновляемых подписки, поэтому, по крайней мере, я знаю, что мое мышление не было слишком большим недостатком.
Теперь единственная проблема заключается в следующем: Как узнать, что у пользователя есть действительная подписка? Я могу хранить эту информацию на своем сервере, да, но как мне связать пользователя с завершенной транзакцией? Должен ли я сохранять UDID устройства?
Вы должны проверить deforums.apple.com, а не вопрос. Никто еще не знает ответа, но разработчики обсуждают его там, – honcheng
@honcheng Я разместил здесь, потому что я не мог найти там ответа. – pt2ph8
Я борюсь с точно такими же проблемами, прежде всего с идентификацией «того же пользователя - другого устройства». У вас было еще больше с этим? –