Когда состояние транзакции восстанавливается в методе делегата updatedTransactions в SKPaymentTransactionObserver?

Я тестировал код для покупок в приложении и не могу восстановить состояние транзакции в восстановленном в методе делегата updatedTransactions SKPaymentTransactionObserver при его вызове. Когда этот метод вызывает с этим состоянием транзакции?

func paymentQueue(_ queue: SKPaymentQueue, updatedTransactions transactions: [SKPaymentTransaction]) {

    for transaction in transactions {
        switch transaction.transactionState {
        // Call the appropriate custom method for the transaction state.
        case SKPaymentTransactionState.purchasing:
            showTransactionAsInProgress(transaction, deferred: false)
        case SKPaymentTransactionState.deferred:
            showTransactionAsInProgress(transaction, deferred: true)
        case SKPaymentTransactionState.failed:
            failedTransaction(transaction)
        case SKPaymentTransactionState.purchased:
            completeTransaction(transaction)
        case SKPaymentTransactionState.restored:
            restoreTransaction(transaction)
        }
    }

}

1 ответ

Решение

Вы получите восстановленную транзакцию, если позвоните restoreCompletedTransactions на SKPaymentQueue и пользователь имеет восстанавливаемые покупки в приложении. См. Справочную документацию для получения полной информации.

Другие вопросы по тегам