应用启动时的应用内购买检查

时间:2012-01-17 15:00:41

标签: iphone ios xcode4

我是应用内购买的新手。我已成功实施并测试了代码,以便用户在我们的应用中进行购买。

我的问题是,一旦用户点击购买我的应用程序按钮,我是否在我的应用程序中将NSUserDefaults变量设置为TRUE,以便我可以解锁所有锁定的功能。这意味着我检查NSUserDefaults是否为TRUE然后向他们展示更多东西。

这是最好的方法吗?我注意到的是,如果用户有多个具有相同ID的苹果产品(iphone / ipads),并且购买的应用程序通过云移动到其他设备,那么他将不得不再次点击购买项目按钮来“解锁”这些功能在其他应用程序上。 (因为我将在本地设置NSUserDefaults变量,如果购买成功或购买恢复则将其设置为TRUE)尽管他不会因为用户再次点击按钮而烦恼但不会获得双倍费用。

我可以采取更好的方法吗?

OR

代码中是否有办法可以检查他是否已经购买了该应用程序ON LAUNCH,以便我可以将购买的NSUserDefaults设置为TRUE。

1 个答案:

答案 0 :(得分:1)

您可以使用restoreCompletedTransactions SKPaymentQueue方法恢复用户之前购买的所有商品。但是,此方法会向用户显示用于输入其Apple ID和密码的警报。所以你不应该在发布时使用它。相反,显示一个用户可以点按以恢复购买的按钮。