Необходима ли регистрация входа в приложение?
Я интегрирую покупки в приложении в свое приложение, оно отлично работает для покупки и восстановления предметов. Но есть одна проблема,
Когда я покупаю товар с помощью [email protected], он успешно приобретает товар и восстанавливает его работоспособность.
Теперь я удалил приложения с моего устройства, а также удалил учетные данные из iTunes & App Store. и снова установлен.
Когда я нажимаю на кнопку восстановления, появляется два всплывающих окна: одно с [email protected], второе - выход или создание пользователя.
Всякий раз, когда я перехожу с фона на передний план, каждый раз отображается всплывающее окно входа.
ПРИМЕЧАНИЕ: я тоже вызывал метод finishTransaction. Но это не работа для меня.
Ни один метод не вызывается при отображении всплывающего окна входа.
![enter image description here]()
Как я мог решить это?
Ответы
Ответ 1
Насколько я знаю, это происходит в двух случаях.
-
Есть ожидающая транзакция. Если какая-либо транзакция покупки еще не завершена, iOS попытается выполнить эту транзакцию автоматически.
-
Некоторые из автоматически возобновляемых подписки должны быть продлены. iOS также автоматически запускает транзакцию покупки для автообновляемой транзакции, если включена настройка автообновления и истек срок подписки.
Это срабатывает, когда наблюдатель транзакции добавляется в очередь платежей.
[[SKPaymentQueue defaultQueue] addTransactionObserver: yourTransactionObserver];
В любом случае, вы можете поставить точку останова в вашем наблюдателе транзакции
- (void)paymentQueue:(SKPaymentQueue *)queue updatedTransactions:(NSArray *)transactions
и понять, какая транзакция обрабатывается.
По сути, у SKPaymentQueue нет функции отмены текущей транзакции приложением, поэтому вы должны продолжить эту транзакцию.
Ответ 2
Это происходит в среде песочницы не всегда. Как только ваше приложение будет жить, а в приложениях одобрят Apple, все будет нормально работать.
Однако ваш поток кода покупки внутри приложения должен быть правильным. iOS автоматически запрашивает параметры входа, если вы еще не вошли в систему, иначе будет отображаться всплывающее окно для ввода пароля, а имя пользователя/адрес электронной почты будет автоматически заполнено.