应用内购买恢复

6

我正在尝试进行应用内购买,除了恢复之外,一切都运行良好。以下是我编写的代码:

func paymentQueueRestoreCompletedTransactionsFinished(queue:SKPaymentQueue!)
{
    for transaction:AnyObject in queue.transactions
    {
        let trans : SKPaymentTransaction = transaction as SKPaymentTransaction
        var identifier : NSString = trans.payment.productIdentifier
        println(identifier)
    }
}

我在这里面临的问题是我没有得到购买标识符。我认为我写错了代码。

2个回答

1

当您恢复购买时,Riyazul,您需要查看原始交易。

您需要的代码是:

var identifier : NSString = trans.originalTransaction.payment.productIdentifier

请告诉我是否还没解决问题。

我已在沙盒中测试了您的代码,但它没有返回任何productIdentifier。我正在使用可消耗购买进行恢复。 - TomSawyer

1
在您的按钮点击事件中添加以下两行代码。
SKPaymentQueue.default().restoreCompletedTransactions()
SKPaymentQueue.defaultQueue().addTransactionObserver(self)

编辑 - 适用于Swift 3:

SKPaymentQueue.default().add(self)
SKPaymentQueue.default().restoreCompletedTransactions()

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接