Здравствуйте!
данный статус "deferred" же означает, что покупка совершена, но не закончена?
У Google, например, есть проблема, что пользователь начинает покупку, а заканчивает ее через долгое время (не знаю как так до сих пор), соответственно, приложение не дожидается ответа от Google и не может дальше зачислять внутренние монеты в приложении. У Apple такая же проблема есть?
Не понял, как поступать:
https://developer.apple.com/documentation/storekit...
В основном везде примерно как и у меня код, без обработки этого статуса покупки:
func paymentQueueRestoreCompletedTransactionsFinished(_ queue: SKPaymentQueue) {
purchaseStatusBlock?(.restored)
}
func paymentQueue(_ queue: SKPaymentQueue, updatedTransactions transactions: [SKPaymentTransaction]) {
for transaction:AnyObject in transactions {
if let trans = transaction as? SKPaymentTransaction {
switch trans.transactionState {
case .purchased:
print("purchased")
SKPaymentQueue.default().finishTransaction(transaction as! SKPaymentTransaction)
purchaseStatusBlock?(.purchased)
check()
break
case .failed:
print("failed")
SKPaymentQueue.default().finishTransaction(transaction as! SKPaymentTransaction)
break
case .restored:
print("restored")
SKPaymentQueue.default().finishTransaction(transaction as! SKPaymentTransaction)
break
default: break
}}}
}
Разъясните, пожалуйста, как обрабатывать незавершенные транзакции.