1

我已经创建了自动更新产品并在沙盒环境中进行了测试。我的问题是我已经购买了一种产品,如果我尝试使用相同的 Apple 帐户购买相同的产品,它会显示已按预期购买的警报,但我无法获取该交易详细信息,因为它在更新的交易中执行失败状态。当我们进入初始交易时,我如何获得购买的详细信息(至少原始收据 ID)。

4

3 回答 3

1

有两种方法可以获取用户购买的交易详情:

  1. 刷新收据
  2. 恢复已完成的事务

要详细了解刷新收据和恢复交易之间的区别,请查看:- SKReceiptRefreshRequest vs restoreCompletedTransactions

简而言之,

  • 刷新收据会要求 App Store 提供收据的最新副本。
  • 恢复已完成的交易会为用户所做的每个已完成交易创建一个新交易,本质上是为您的交易队列观察者重放历史记录。

问题: 当我们进入初始交易时,我如何才能获得购买的详细信息(至少原始收据 ID)。

答:如果您想每次都使用原始receiptID 验证用户,而不是用户SKReceiptRefreshRequest 来验证用户交易。

注意:任何时候如果您使用 RestoreCompletedTransactions 验证用户,您的 transactionID 将会改变。查找 restoreTransaction 时更改的参数列表:https ://developer.apple.com/library/content/releasenotes/General/ValidateAppStoreReceipt/Chapters/ReceiptFields.html#//apple_ref/doc/uid/TP40010573-CH106-SW1

于 2017-01-11T13:41:36.153 回答
0

您必须在您的应用程序中实施一种恢复已购买产品的机制。

有关恢复购买的产品的详细信息: 恢复购买的产品

要进入实施部分,您可以遵循本教程: 在 App Purchase 教程中

教程的后面部分将指导您完成恢复购买的实现。

于 2017-01-06T08:13:02.050 回答
0

通过使用 App Store 验证收据,您可以找到已购买的产品标识符。您可以使用 Cocoapods 库来查找购买的产品。

  1. SwiftyStoreKit
  2. DHAppleReceiptParser
  3. IAP验证

我希望它对你有帮助。

于 2017-01-06T08:45:57.910 回答