使用服务器模型应用InApp Purchase非常困惑。
我在StoreKit指南中读到了这个:
如果用户尝试购买非消费产品或可续订订购,则他们已经购买 购买后,您的应用程序会收到该项目的** 常规交易,而不是恢复交易。然而, 用户不会再次为该产品付费。您的应用程序应该相同地处理这些事务 对原始交易的那些。
那么告诉我如何知道用户是否购买了该物品还是他已经恢复了该物品????
答案 0 :(得分:0)
您应该跟踪已购买的商品,并将其从用户必须购买的商品列表中删除。
如果您这样做,用户将永远不会尝试购买他们已经打过的东西。
首次安装应用时,您可能需要恢复之前购买过的商品(如果有的话)。要执行此操作,请致电restoreCompletedTransactions
,然后获得单独回调至正常:paymentQueueRestoreCompletedTransactionsFinished:
。
回答你的问题。
已恢复的项目来自paymentQueueRestoreCompletedTransactionsFinished:
方法
购买的商品通常采用paymentQueue:updatedTransactions:
方法
正常购买的已经付款的商品采用paymentQueue:updatedTransactions:
方法。
你无法区分2.和3.这是故意的。