首页 > 解决方案 > 如果我们可以只检查收据,那么检查交易队列有什么意义?

问题描述

对于 Apple in app purchase,我们似乎应该观察交易队列:

for (SKPaymentTransaction *transaction in transactions)  {
  switch (transaction.transactionState) {
      case SKPaymentTransactionStatePurchased:
      ...
}

但我们还需要验证收据(在 解析内容[[NSBundle mainBundle] appStoreReceiptURL]];)。但是……我们可以直接走捷径直接看收据吗?有什么不同?

标签: iosin-app-purchasereceipt-validation

解决方案


要验证收据,您应该创建自定义服务器并将收据发送到服务器。收据还包含所有交易,您应该在其中找到最后一笔交易,向用户显示一些有关购买的消息并不是很容易的方法。我将交易用于统计和快速信息,并使用收据来验证购买。
您也可以使用收据进行双重检查,如果收据不包含适当的交易,您可以限制对内容的访问。


推荐阅读