Подтвердить что ты не робот

Покупка в приложении для уведомлений о подписке на автоматическое обновление

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

Ситуация: У меня есть различные пакеты подписки, на которые пользователь может подписаться (например, пакет A за £ 1 в месяц, пакет B за £ 2 в месяц и т.д.). Я сохраняю информацию о подписке пользователя в моей базе данных. Когда пользователь входит в систему, я проверяю, какой пакет он включен, и если он истек или нет. Мой сайт, андроид и iOS используют одну и ту же базу данных, поэтому этот подход имеет смысл.

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

Мои вопросы:

1) Мое понимание заключается в том, что пользователь может использовать iTunes для управления своей подпиской. Скажем, они заходят в iTunes и отменяют свою подписку, как я могу получать уведомления, чтобы обновить свою базу данных? Нужен ли мне демон, который проверяет истекшие подписки, чтобы узнать, обновлен ли пользователь?

2) Если пользователь хочет обновить свою подписку из пакета A в пакет B, как мне обрабатывать цены? Скажем, 1 января они покупают пакет A, я беру их в размере 1,00 фунтов стерлингов и устанавливаю дату истечения срока действия до 31 января. 15 января они хотят перейти на пакет B через покупку через приложение. В идеале я бы поручил им 2 фунта за пакет B минус 0,50 доллара за кредит, который у них есть для пакета A, и установил новую дату истечения срока действия 14-го февраля. Тем не менее, Apple заставляет меня связывать каждый пакет с ценой уровня. Как я могу справиться с этим? Я не хочу, чтобы пользователь дождался конца месяца, чтобы разместить их в пакете более высокого уровня... если они обновлены в середине месяца, это означает, что они хотят, чтобы новый пакет контента B доставлял их немедленно.

Любая помощь оценивается!

Спасибо!

4b9b3361

Ответ 1

1) Да, вам нужно будет повторить проверку квитанции в "Руководство по проверке чеков" в документации. Они упоминают некоторые важные ключи:

  • status - 0, если квитанция действительна или код ошибки
  • receipt - ответ JSON на получение
  • latest_receipt (только для автоматического возобновления) - базовая 64-кодированная квитанция для последнего обновления
  • latest_receipt_info - версия JSON latest_receipt

С этой информацией при совершении покупки отправьте квитанцию ​​на ваш сервер для проверки, бэкэнд сохранит квитанцию ​​в БД и проверит со статусом = 0, что это действительная квитанция. Оттуда, через каждые x дней вы можете проверить эту квитанцию ​​с заданием хронометра, демоном и т.д. И повторить проверку. Каждый ответ будет иметь latest_receipt_info, который вам теперь нужно сохранить в вашей БД, чтобы у вас была современная квитанция для следующей проверки в x дней. Таким образом, у вас всегда будет самая последняя квитанция. Нет мгновенного уведомления о том, когда пользователь отменяет подписку, но с этим вы будете знать каждый x дней, если у них еще есть подписка.

2) Ценообразование, подобное этому, к сожалению, невозможно. Он не предназначен для того, чтобы пользователь "обновлял" подписки - каждая подписка имеет доступ к своему собственному эксклюзивному контенту на момент написания этой статьи. Однако, если клиент отправляет жалобы и жалуется на это, вы можете запросить их имя пользователя и выяснить в своей БД, если этот пользователь действительно обновил средний месяц и возместил их соответствующим образом. Очень старая школа, и это невозможно для большой базы пользователей, но, надеюсь, у вас их не будет, и они могут быть счастливы.

Ответ 2

Отвечая на вопрос 1, вы можете проверить подписные квитанции так же, как и другие IAP, но вам нужно периодически проверять его, чтобы узнать, истекло ли срок действия подписки (проверка сообщит вам, истекло ли это).

Более подробную информацию о документах Apple можно найти здесь:

http://developer.apple.com/library/mac/#documentation/NetworkingInternet/Conceptual/StoreKitGuide/RenewableSubscriptions/RenewableSubscriptions.html

Ответ 3

EDITED

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

Каждая подписка является самостоятельным продуктом, и пользователь может автоматически включать/отключать подписки с помощью Менеджера подписки в iTunes Store.

Однако, если пакет A и пакет B содержат то же содержимое, что и разная продолжительность, чем указано ajay_nasa, вы можете создать один продукт автоматической подписки с разными варианты продолжительности. Если пользователь находится на подписке на 1 месяц, а затем пользователь пытается перейти на 2-месячную подписку, у них появится следующее сообщение об ошибке с просьбой перейти в диспетчер подписки на App Store

введите описание изображения здесь

Таким образом, в основном ТОЛЬКО место, на которое пользователь может фактически изменить длину подписки, находится в App Store. Независимо от того, решит ли Apple проголосовать за оставшуюся часть старой подписки или просто добавить ее к текущему, действительно зависит от Apple. Вы должны убедиться, что у пользователя есть доступ к подписке до тех пор, пока он активен, прочитав поле Оригинальная дата покупки и Дата истечения срока подписки из каждой записи квитанции и определяя начало и даты окончания подписки.

Ответ 4

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

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

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

Ответ 5

Отвечая на ваш вопроС# 1

Недавно Apple запустила функцию включения уведомления о сервере при обновлении подписки. Однако подписка должна быть в приложении.

Смотрите ссылки, приведенные ниже, для справки:

https://help.apple.com/itunes-connect/developer/#/dev0067a330b

&

https://itunespartner.apple.com/en/apps/news/45333106?sc_cid=ITC-AP-ENREC

Ответ 6

Нам нужно проверить дату отмены, предоставленную в квитанции.