我正在开发一款iPhone应用程序,迄今为止,该应用程序使用的是平板定价模式。在下一个版本中,计划是减少基本功能集和价格,然后让用户选择为功能包进行应用内购买。
添加应用内购买似乎非常简单。我担心的是,如何处理当前拥有该应用程序的用户的遗留支持并不明显,因为在升级时,他们仍然可以访问所有功能。即旧版用户不应失去对功能的访问权限;他们应该被视为已经支付了他们。
我认为,解决这个问题的最简单方法是对plist文件(或NSUserDefaults)中存在标志进行一些例行测试:如果该标志不存在,则从先前版本升级
当内核检测到首次启动应用程序的更新版本时,会发生另一个回调。但是,在这种支持的可用文档中找不到多少。
有人可以提出建议吗?
编辑:还有两个需要解决的相关方案:
1)用户安装了旧版本的应用程序。他们升级,但稍后卸载应用程序。当他们重新安装(来自商店的新版本)时,他们仍然可以访问旧版功能。
2)用户卸载了旧版本的应用程序,但决定从商店安装更新版本。就应用而言,这是一个全新的安装。
(1)似乎可以通过升级程序在StoreKit中创建多个$ 0购买来解决。这样,Apple对恢复应用程序(和购买)的支持应该可行。
关于(2),我不知道是否有办法解决这个问题。
答案 0 :(得分:0)
我尝试了第一条路线(检查是否存在plist文件值),它适用于正在更新的人,但它不适用于已删除应用程序然后下载并尝试使用更新的人。 (或者,如果他们在任何时候删除应用程序并重新安装,他们将失去该功能)
幸运的是,我有一个使用“促销”代码激活功能的机制,所以当一些用户抱怨他们已经支付了以前的版本但在他们成为应用程序购买时不再具有某些功能时我向他们发送促销用于响应功能的代码。不理想,因为我无法确认他们是否真的购买了它,但只有少数甚至被问到。