Ger*_*eri 24 iphone restore in-app-purchase
我真的不明白这个想法.我是否必须为用户提供恢复按钮?该方法应该调用什么方法?恢复会做什么?
Fel*_*lix 30
您通常使用以下代码恢复购买:
[[SKPaymentQueue defaultQueue] restoreCompletedTransactions];
Run Code Online (Sandbox Code Playgroud)
它将重新调用-paymentQueue:updatedTransactions购买物品的观察者.这对于在删除后重新安装应用程序或将其安装在其他设备上的用户非常有用.
并非所有类型的应用内购买都可以恢复.
您将收到来自苹果的拒绝消息,因为您已注册购买inApp的产品可能属于非续订订阅和消费品类别.这些类型的产品不会自动更新.您需要在应用程序中使用显式恢复按钮.
对于其他类型的产品,它会自动恢复它.
请阅读以下文字,这将清除您对此的概念:
一旦处理完事务并从队列中删除,您的应用程序通常永远不会再看到它.但是,如果您的应用程序支持必须可恢复的产品类型,则必须包含允许用户恢复这些购买的界面.此界面允许用户将产品添加到其他设备,或者,如果原始设备被擦除,则还原原始设备上的事务.
Store Kit提供内置功能,可以恢复非消耗品,自动续订订阅和免费订阅的交易.要恢复事务,应用程序将调用支付队列的restoreCompletedTransactions方法.支付队列向App Store发送请求以恢复事务.作为回报,App Store会为先前完成的每个事务生成新的恢复事务.还原事务对象的originalTransaction属性包含原始事务的副本.您的应用程序通过检索原始事务并使用它来解锁所购买的内容来处理还原事务.Store Kit恢复所有先前的事务后,它会通过调用paymentQueueRestoreCompletedTransactionsFinished:方法通知支付队列观察者.
如果用户尝试购买可还原产品(而不是使用您实现的还原接口),则应用程序将收到该项目的常规事务,而不是恢复事务.但是,不会再向该用户收取该产品的费用.您的应用程序应将这些事务视为与原始事务的事务相同.Store Kit不会自动恢复非续订订阅和消耗品.但是,不续订订阅必须是可恢复的.要恢复这些产品,您必须在购买时在自己的服务器上记录事务,并提供自己的机制将这些事务还原到用户的设备
| 归档时间: |
|
| 查看次数: |
197321 次 |
| 最近记录: |