2012-01-17 63 views
0

我是新来的应用程序内购买。我已成功实施并测试了代码,以便用户在我们的应用中进行购买。应用程序启动时的应用程序内购买检查

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

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

是否有更好的方法,我可以走?

OR

是否有代码的方式,我可以检查他是否购买了该应用程序在启动这样我就可以购买设置为TRUE NSUserDefaults的。

回答

1

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