iOS App购买日期

时间:2012-06-11 15:08:57

标签: iphone objective-c ios in-app-purchase

我正在尝试新的市场策略,所以我现在将免费提供我的0,79欧元应用程序,并通过应用程序内购买解锁所有内容。我也不想背叛已经购买它的用户,所以我想实施一个检查,哪些人已经购买了应用程序,不需要购买应用内付款解锁所有。

我的问题是......我可以查看应用程序的购买时间吗?或者也许有一个简单的方法?

5 个答案:

答案 0 :(得分:7)

只是为了更新它,它是可能的。看一下这个问题的答案 - 收据中的一个字段是“原始购买日期”

A complete solution to LOCALLY validate an in-app receipts and bundle receipts on iOS 7

答案 1 :(得分:4)

您无法确定地执行此操作,因为无法检查用户是否购买了应用程序,因为无法向操作系统询问安装/购买日期。

根据建议,您可以将其保存在NSUserDefaults中,但如果用户删除该应用,则此信息会丢失。

可以将其保存在钥匙串中,如果删除该应用程序,则不会将其保存,但问题仍然存在,因为如果iOS设备恢复,这些设置可能会丢失。

答案 2 :(得分:1)

rckoenes的解释是正确的。我最近经历过这样的情景,我已经考虑了答案中提到的选项。我最终选择的选项是发布应用程序的另一个扩展(如'pro'或'lite'等)而不是现有应用程序的版本。这样可以减少处理应用购买状态的所有麻烦。然后,您将拥有一个完整付费版本的应用程序,其中包含所有高级内容和一个带有应用程序内购买的免费版本,以解锁内容。希望这会有所帮助。

答案 3 :(得分:0)

假设您当前版本的应用程序保存状态,在第一次启动应用程序的下一个版本时,您可以检查是否有任何已保存的状态(例如NSUserDefaults中的密钥,文件目录中的文件,等)

你应该只做一次,所以你需要在其他地方再举一个标志来告诉你检查已经完成。

答案 4 :(得分:-1)

这应该非常简单。如果您知道新应用程序何时联机,您只需检查安装日期/时间(首次运行时将日期/时间存储在钥匙串中)。在免费应用程序上线的日期/时间之前安装应用程序的用户可以访问内容。如果您担心新用户会弄乱日期/时间,请使用在线时间服务来获取实际时间。