Задать вопрос
@uzolenta

Как обработать in-app-purchase статус deferred?

Здравствуйте!
данный статус "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
                }}}
    }


Разъясните, пожалуйста, как обрабатывать незавершенные транзакции.
  • Вопрос задан
  • 489 просмотров
Подписаться 3 Комментировать