13

我正在尝试一种新的市场策略,所以我现在将免费提供我的 0.79 欧元应用程序,并通过应用程序内购买解锁所有内容。我也不想背叛已经购买过的用户,所以我想对已经购买过App的用户进行检查,不需要购买App内支付全部解锁。

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

4

5 回答 5

7

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

在 iOS 7 上本地验证应用内收据和捆绑收据的完整解决方案

于 2014-04-16T20:22:17.440 回答
5

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

按照建议,您可以将其保存在 中NSUserDefaults,但如果用户删除应用程序,此信息将丢失。

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

于 2012-06-11T15:22:54.087 回答
1

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

于 2012-06-11T15:30:12.653 回答
0

假设您当前版本的应用程序保存状态,在第一次启动应用程序的下一个版本时,您可以检查任何保存的状态(例如,输入的键NSUserDefaults、文档目录中的文件等)

你应该只做一次,所以你需要在其他地方有另一个标志来告诉你检查已经执行。

于 2012-06-11T15:14:48.910 回答
-1

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

于 2012-06-12T14:25:08.707 回答