我是应用内购买新手。我已成功实现并测试了代码,让用户可以在我们的应用程序中进行购买。
我的问题是,一旦用户点击购买我的应用程序按钮,我是否在我的应用程序中将 NSUserDefaults 变量设置为 TRUE,以便我可以解锁所有锁定的功能。这意味着我检查 NSUserDefaults 是否为 TRUE,然后向他们展示更多内容。
这是最好的方法吗?我注意到,如果用户拥有多个具有相同 ID 的苹果产品(iphone/ipad),并且购买的应用程序通过云移动到其他设备,那么他将必须再次单击购买项目按钮来“解锁”功能在其他应用程序上。 (因为我将在本地设置 NSUserDefaults 变量,并在购买成功或购买恢复时将其设置为 TRUE)虽然他不会被双重收费,但用户再次单击该按钮会很烦人。
我可以采取更好的方法吗?
或
有没有一种方法可以在代码中检查他是否在启动时购买了该应用程序,以便我可以将购买的 NSUserDefaults 设置为 TRUE。
最佳答案
您可以使用SKPaymentQueue
的restoreCompletedTransactions
方法来恢复用户之前购买的所有购买。但是,此方法会向用户显示输入 Apple ID 和密码的警告。所以你不应该在启动时使用它。相反,显示一个按钮,用户可以点击该按钮来恢复其购买。
关于iphone - 应用程序启动时进行应用内购买检查,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8896841/