Какая логика автообновления подписки в iOS - программирование
Подтвердить что ты не робот

Какая логика автообновления подписки в iOS

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

Кажется, я не могу обмануть голову, следя за этим. Кажется, Apple хочет, чтобы это было как можно труднее.

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

Я понимаю концепцию проверки чека при покупке подписки, но что происходит после этого? Является ли приложение повторной проверкой подписки при каждом запуске, чтобы узнать, является ли подписка текущей? После первоначальной покупки, где получены поступления от подписки?

Я посмотрел на Urban Airship, который, похоже, отслеживает это для вас, но я не нашел пример приложения или учебника для реализации подписки. Существуют ли другие службы, подобные этому?

4b9b3361

Ответ 1

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

Я думаю, что Apple создала автоматически возобновляемые покупки в приложениях именно для вашей ситуации. Аналогом для автоматического возобновления является подписка на журнал, где подписка возобновляется в конце каждого периода подписки. Например, у вас может быть однолетняя подписка на NYTimes, где в конце подписки NYTimes выставляет вам еще на год, чтобы сохранить подписку.

Аналогичным образом, при условии автоматического возобновления iTunes, Apple будет оплачивать подписку пользователей, когда срок их подписки истечет, если пользователь не отменит подписку до истечения срока действия. Чтобы правильно работать, вы - разработчик - должны будете проверить с помощью iTunes, чтобы узнать, действительно ли подписка на пользователя остается действительной, прежде чем предоставлять им доступ к содержимому газетных журналов текущего месяца. Другими словами, вы разблокируете контент после проверки получения абонентской подписки.

Вы сохраняете текущую квитанцию ​​пользователя, которую вы получаете из iTunes где-то (например, NSUserDefaults) после того, как вы ее получите из Apple. Чтобы проверить, действительно ли квитанция пользователя по-прежнему активна, вы должны отправить сохраненную квитанцию ​​в яблоко для проверки.

Кстати, у вас должен быть способ для пользователей восстановить свои квитанции из вашего приложения - в случае, если у них есть новое устройство или переустановка приложения с нуля.

Я согласен с тем, что документация от Apple оставляет желать лучшего. Нам потребовалось несколько недель утомительной работы, чтобы заставить это работать для нашего приложения. Похоже, что другие люди тратят такое же количество времени, чтобы заставить их работать. Следовательно, возьмите свое время или вне источника этой задачи, если вы не можете позволить себе потратить время, чтобы изучить его.

Посмотрите руководство по программированию в приложении для описания того, как должны работать вещи. Два видео с покупками в приложении от WWDC 2011 года: "In-app Purchase для iOS и Mac OS X" и "Что нового в публикации приложений" были для нас полезными.

Другие полезные ссылки:

Вам понадобится метод code -createEncodedString в последней ссылке для правильной отправки вашей квитанции на сервер для проверки.

С этими ссылками я надеюсь, что сэкономил вам массу исследований и проб и ошибок, чтобы заставить вас работать. Удачи.