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

Подписка на автоматическое обновление среды песочницы iOS

У меня есть следующие вопросы, касающиеся подписки на автоматическое возобновление iOS

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

b) Нужно ли нам называть restoreCompletedTransactions для получения нового квитанции для автоматической расширенной подписки или является -paymentQueue: updatedTransactions: метод, вызываемый автоматически iOS? (Я думаю, он автоматически вызвал "запуск" и "поворот из фона" не уверен)

c) Как вы обрабатывали одну и ту же подписку на нескольких устройствах? Это может быть вызвано функцией restoreCompletedTransactions, но при вызове он будет запрашивать пароль пользователя, поэтому его не очень удобно вызывать каждый раз, когда приложение запускается.

4b9b3361

Ответ 1

a) Автоматическое обновление подписки несовместимо в среде песочницы. Иногда подписка возобновляется несколько раз (около 5) до окончания. В других случаях он не будет обновляться вообще.

b) (только квитанции транзакции iOS6) Вам не нужно вызывать restoreCompletedTransactions, чтобы проверить статус подписки, если вы сохраняете предыдущие квитанции (предпочтительнее на вашем сервере). Просто возьмите любую подписную квитанцию, которую вы сохранили для этого пользователя, и отправьте ее в App Store для проверки. Они ответят с помощью latest_receipt_info, включая expires_date, который вы можете использовать для определения текущего статуса подписки.

c) Вы должны пригласить новых пользователей на "Восстановить предыдущие покупки", после чего вы вызываете restoreCompletedTransactions. Затем отправьте одну из этих квитанций (желательно с вашего сервера) в App Store для проверки, чтобы получить расшифрованные данные о транзакции. Найдите ключ original_transaction_id в информации о квитанции. Это всегда будет содержать идентификатор в первый раз, когда этот пользователь инициировал подписку с вами. Если вы сравниваете этот идентификатор с другими в вашей системе, вы должны определить, какие устройства имеют учетную запись Apple. (Так как Apple не позволяет вам видеть идентификатор пользователя Apple, это лучший способ определить учетную запись, которая охватывает несколько устройств).

Аналогично этому вопросу: iOS auto-renew истекло в конце текущего периода подписки

Ответ 2

Чтобы добавить к этому, кажется, что строка в документации Apple неверно истолкована

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

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

Это также похоже на 24-часовой период. Не освежает в данный момент. Например, я сделал подписку в 11 утра, которая не обновлялась. Я сделал еще один раз в 2 часа дня, который возобновился 6 раз.