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/

10-15 11:57