我在我的应用中使用了auto-renewable
subscription
。一切正常,但如果用户从iPhone
删除应用并再次安装,那么如何知道该用户是否已订阅?
我们是否必须存储用户数据或服务器?
我提到了类似的问题,他们说Apple
拒绝使用auto-renewable
In-App-Purchase
恢复按钮的应用。
答案 0 :(得分:3)
他们拒绝没有恢复按钮的应用。每个提供non_consumable或auto_renewable_subscription购买的应用都必须拥有它。它们还提供了您在SKPaymentQueue上实际恢复用户购买所需的一切,而无需将其存储在其他地方。
SKPaymentQueue.default().restoreCompletedTransactions()
将触发委托方法:
func paymentQueue(_ queue: SKPaymentQueue, updatedTransactions transactions: [SKPaymentTransaction])
来自SKProductsRequestDelegate
和SKPaymentTransactionObserver
我推荐这本指南,其中一切都很有效:https://hackernoon.com/swift-how-to-add-in-app-purchases-in-your-ios-app-c1dc2fc82319
在询问购买历史记录之前,请不要忘记添加商品ID。
答案 1 :(得分:2)
你应该保留一个恢复按钮。
收据会告诉您订阅与否,您可以使用您的服务器对此进行验证。有关信息
你必须检查 latest_receipt_info 键,这将是json数组,然后你读取最后一个对象并检查 expires_date 键。