tl; dr如何通过FinishTransaction
回调而不是UpdatedTransactions
应用内购买?
细节
目前,我有一个带有SKPaymentTransactionObserver
回调的UpdatedTransactions
,该回调接收到SKPaymentTransaction
应用内产品所需的FinishTransaction
。
但这迫使应用程序通过UpdatedTransactions
回调中的事务更新我的服务器。我想更改它,并让UpdatedTransactions
刚刚开始更新服务器的过程,稍后,当服务器已更新时,应用程序将不在FinishTransaction
回调中使用UpdatedTransactions
。
我的问题是-如何获得SKPaymentTransaction
所需的FinishTransaction
?
欢迎使用Apple母语或C#/ Xamarin回答。
最佳答案
func paymentQueue(_ queue: SKPaymentQueue, updatedTransactions transactions: [SKPaymentTransaction]) {
for transaction in transactions {
switch transaction.transactionState {
case .purchasing:
updateTransactionToServer {
queue.finishTransaction(transaction)
}
case .purchased: .....
}
}
func updateTransactionToServer(completion:()->Void) {
//logic to updated status to ur backed
}
您可以执行类似的操作,也可以参考link
关于ios - 获取SKPaymentTransaction以获取FinishTransaction(),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/58719848/