Что не так в потоке проверки получения с SKReceiptRefreshRequest - PullRequest
0 голосов
/ 11 октября 2019

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

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

  1. проверьте, представлена ​​ли квитанция в приложении.
  2. , если это не так, мы используем метод SKReceiptRefreshRequest, чтобы загрузить квитанцию ​​
  3. , при запуске диалога iTunes Auth, еслиэто среда SandBox
  4. после проверки подлинности пользователя, продолжить процесс проверки на сервере, в противном случае выдает ошибку «Пожалуйста, войдите в iTunes, чтобы продолжить»

Наши ожидания:

Команда Apple должна предоставить пароль и пройти аутентификацию в диалоге аутентификации iTunes, чтобы продолжить тестирование.

Проблема:

Appleкоманда проверки Отменяет диалог проверки подлинности iTunes, получает сообщение об ошибке из нашего приложения и отклоняет отчет нашего приложения "Руководство 2.1 - Производительность - Полнота приложения".

Рекомендация в центре разрешения:

При проверке квитанций на вашем сервере ваш сервер должен иметь возможность обрабатывать приложение, подписанное на производстве, получая егопоступления от тестовой среды Apple. Рекомендуется, чтобы ваш производственный сервер всегда сначала проверял поступления в производственном App Store. Если проверка завершилась неудачно с кодом ошибки «Квитанция песочницы, используемая в производственной среде», вам следует выполнить проверку вместо тестовой среды.

Соответствующий ресурс, который мы использовали для справки:

После того, как я установил приложение для разработки с Xcode, appStoreReceiptURL имеет значение nil. Как правильно справиться с этой ситуацией?

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

1 Ответ

0 голосов
/ 11 октября 2019

В нашем SDK для отслеживания подписок есть проверки соответствия, и я могу помочь вам в этом.

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

Таким образом, диалог iTunes Auth вообще не будет отображаться пользователю.

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

Вы можете написать нам в нашем онлайн-чате, если у вас есть какие-либо вопросы!

...