Когда состояние транзакции восстанавливается в методе делегата 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
и пользователь имеет восстанавливаемые покупки в приложении. См. Справочную документацию для получения полной информации.