Проверка получения IAP с доверенным сервером.Как определить пригодность пробной версии, если возвращаемый JSON не содержит ключ «latest_receipt_info»? - PullRequest
0 голосов
/ 26 февраля 2019

Я разрабатываю приложение для iOS swift, которое использует In App Purchase для одной автоматически обновляемой подписки с бесплатной пробной версией в течение 1 недели.Чтобы определить право на участие в испытаниях, я читаю документы здесь .В нем говорится:

Определение права на участие

Чтобы определить, имеет ли пользователь право на вводную цену, проверьте его квитанцию: Подтвердите квитанцию, как описано в разделе Проверка квитанций в App Store.В квитанции проверьте значения Пробного периода подписки и Вводного периода цены подписки для всех транзакций покупки в приложении.Если любое из этих полей истинно для данной подписки, пользователь не имеет права на вводную цену для этого продукта подписки или любых других продуктов в той же группе подписки.Обычно вы проверяете права пользователя на вашем сервере.Лучше всего определить право на участие заранее, например, при первом запуске приложения, если это возможно.

На основании квитанции вы обнаружите, что новые и постоянные клиенты имеют право на начальную цену или бесплатные пробные скидки, так какследует: Новые подписчики всегда имеют право.Просроченные подписчики, которые продлевают свою подписку, имеют право, если они ранее не получали вступительную цену за данный продукт (или любой продукт в той же группе подписки).

Проблема заключается в том, что JSON возвращается сервероминогда не содержит ключ «latest_receipt_info», он содержит только поля среды, состояния и получения.В этой ситуации, как определить право на участие в испытании?любая помощь приветствуется.

Ps JSON всегда содержит состояние 0, поэтому связь с сервером работает хорошо.

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

1 Ответ

0 голосов
/ 26 февраля 2019

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

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

Это было в Песочнице?Я не думал, что это могло бы быть возможно в производстве.

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

...