我正在实施试用,然后在我的应用中订阅模型,允许用户免费使用该应用14天,然后在试用结束时,它会提醒他们试用期结束,他们需要订阅继续使用。
我在第一次打开应用时在NSDate
中对standardDefaults
对象进行此设置。然后将当前日期与存储日期进行比较,并将返回的时间间隔与14天内的秒数进行比较。
我的问题是:如果用户删除应用,请standardDefaults
留在内存中吗?如果没有,我如何阻止用户删除然后重新下载应用程序以重新开始试用期?
答案 0 :(得分:3)
Apple非常自豪他们的沙盒概念以及如果删除应用程序,所有数据都将被删除。
确保此信息不会丢失的唯一方法是将其保存到服务器上的数据库并从您的应用中定期检查。
这是技术解决方案。但请确保,如果您计划在那里发布,那么Apple将允许 AppStore 。
Apple禁止试用版,但我不确定,您是否可以免费提供应用内购买的内容一段时间,然后开始计费。
但主要规则是:免费赠送给用户必须保持免费。
答案 1 :(得分:2)
有些应用程序具有某些功能的试用期。看看Puffin Browswer或ChessFree,它们都提供过期的功能。 Puffin允许闪存支持(实际上非常酷的功能!)并在几天后删除该功能。虽然浏览器的其余部分仍然可访问,但它的主要用途已被删除。
ChessFree为您提供了可以用于不同的东西,课程,玩游戏,回撤等等的点数......我不确定当你用完点时会发生什么但看起来你不能再做任何事了
如果我要实现这样的东西,我只需要在钥匙串中保存一个变量,告诉他们离开了多少天或者安装它的日期(作为字符串)。这样,如果卸载了应用程序,它将不会被删除(即使应用程序被删除,钥匙串项也会保留存储,因此只需按照您的意愿随时检查/减少/增加)。我可能会为达到过期时间限制的用户提供一些功能(如Puffin),但老实说我相信这取决于你。