SKPaymentTransactionObserver
SKPaymentTransactionObserver протокол объявляет методы, реализованные наблюдателями SKPaymentQueue объект.
Когда транзакции обновлены очередью или удалены из очереди, наблюдателя вызывают. Наблюдатель должен обработать все успешные транзакции, разблокировать функциональность, купленную пользователем, и затем закончить транзакцию путем вызова очереди платежа finishTransaction: метод.
Наследование
Не применимый
Оператор импорта
Swift
import StoreKit
Objective C
@import StoreKit;
Доступность
Доступный в OS X v10.7 и позже.
-
Говорит наблюдателю, что были обновлены одна или более транзакций. (требуемый)
Объявление
Swift
func paymentQueue(_queue: SKPaymentQueue!, updatedTransactionstransactions: [AnyObject]!)Objective C
- (void)paymentQueue:(SKPaymentQueue *)queueupdatedTransactions:(NSArray *)transactionsПараметры
queueОчередь платежа, обновившая транзакции.
transactionsМассив обновленных транзакций.
Обсуждение
Приложение должно обработать каждую транзакцию путем исследования транзакции
transactionStateсвойство. ЕслиtransactionStateSKPaymentTransactionStatePurchased, платеж был успешно получен для желаемой функциональности. Приложение должно сделать функциональность доступной для пользователя. ЕслиtransactionStateSKPaymentTransactionStateFailed, приложение может считать ошибочное свойство транзакции, чтобы возвратить значимую ошибку пользователю.Как только транзакция обрабатывается, она должна быть удалена из очереди платежа путем вызова очереди платежа
finishTransaction:метод, передавая транзакцию в качестве параметра.Оператор импорта
Objective C
@import StoreKit;Swift
import StoreKitДоступность
Доступный в OS X v10.7 и позже.
-
Говорит наблюдателю, что одна или более транзакций были удалены из очереди.
Объявление
Swift
optional func paymentQueue(_queue: SKPaymentQueue!, removedTransactionstransactions: [AnyObject]!)Objective C
- (void)paymentQueue:(SKPaymentQueue *)queueremovedTransactions:(NSArray *)transactionsПараметры
queueОчередь платежа, обновившая транзакции.
transactionsМассив удаленных транзакций.
Обсуждение
Ваше приложение не должно обычно реализовывать этот метод, но могло бы реализовать его для обновления его собственного пользовательского интерфейса, чтобы отразить, что была завершена транзакция.
Оператор импорта
Objective C
@import StoreKit;Swift
import StoreKitДоступность
Доступный в OS X v10.7 и позже.
-
paymentQueue (_: restoreCompletedTransactionsFailedWithError:) - paymentQueue:restoreCompletedTransactionsFailedWithError:Говорит наблюдателю, что ошибка произошла при восстановлении транзакций.
Объявление
Swift
optional func paymentQueue(_queue: SKPaymentQueue!, restoreCompletedTransactionsFailedWithErrorerror: NSError!)Objective C
- (void)paymentQueue:(SKPaymentQueue *)queuerestoreCompletedTransactionsFailedWithError:(NSError *)errorПараметры
queueОчередь платежа, восстанавливавшая транзакции.
errorПроизошедшая ошибка.
Оператор импорта
Objective C
@import StoreKit;Swift
import StoreKitДоступность
Доступный в OS X v10.7 и позже.
-
paymentQueueRestoreCompletedTransactionsFinished (_:) - paymentQueueRestoreCompletedTransactionsFinished:Говорит наблюдателю, что очередь платежа закончила отправлять восстановленные транзакции.
Объявление
Swift
optional func paymentQueueRestoreCompletedTransactionsFinished(_queue: SKPaymentQueue!)Objective C
- (void)paymentQueueRestoreCompletedTransactionsFinished:(SKPaymentQueue *)queueПараметры
queueОчередь платежа, восстановившая транзакции.
Обсуждение
Этот метод вызывают после того, как все восстановимые транзакции были обработаны очередью платежа. Ваше приложение не требуется, чтобы делать что-либо в этом методе.
Оператор импорта
Objective C
@import StoreKit;Swift
import StoreKitДоступность
Доступный в OS X v10.7 и позже.
-
Говорит наблюдателю, что очередь платежа обновила один или несколько объектов загрузки. (требуемый)
Объявление
Swift
optional func paymentQueue(_queue: SKPaymentQueue!, updatedDownloadsdownloads: [AnyObject]!)Objective C
- (void)paymentQueue:(SKPaymentQueue *)queueupdatedDownloads:(NSArray *)downloadsПараметры
queueОчередь платежа, обновившая загрузки.
downloadsОбновленные объекты загрузки.
Обсуждение
Когда объект загрузки обновляется,
downloadStateсвойство описывает, как оно изменилось.Оператор импорта
Objective C
@import StoreKit;Swift
import StoreKitДоступность
Доступный в OS X v10.8 и позже.
