App Store中当前版本的应用程序是免费的,功能非常有限。应用内购买解锁了其他所有内容。
我决定删除应用程序内购买,只是让应用程序的成本与应用程序内购买相同。但是,如果我现在进行更新,那么拥有免费版但尚未支付应用内购买费用的用户将获得完整版的免费更新。
我已经从应用程序中删除了我的单例类PurchaseManager的所有痕迹,所以此时,当我构建/运行它时,所有功能都被解锁。在这一点上,我如何确保免费版用户不只是将更新带入完整版本?
也许有办法测试应用是通过更新还是通过购买获得的?这样,如果通过更新,我将看到它是否是IAP的免费版本,然后强制用户购买IAP继续播放。
有什么想法吗?
答案 0 :(得分:1)
确保在第一个版本中设置了用户默认值。如果objectForKey:返回nil,则从未设置,这意味着第一个版本从未运行过。在这种情况下,我将YES设置为用户默认值,以确定是否购买了应用程序内购买。
上面只运行了一次,这保证了演示的用户继续使用该演示,直到他们购买了应用程序内购买(定价与游戏的第二个版本相同),以及完整版本的用户v1.0按计划有完整版本。
答案 1 :(得分:0)
不那么容易。推出一个小的更新您当前的应用程序并记录所有启动应用程序激活的人的设备ID。
在您的网站上发布博客,要求用户发送他们的设备ID和电子邮件,以重新支付应用内购买的费用。您可以从收集的设备ID中交叉验证。
我知道这很痛苦。大多数人首先在Cydia上发布他们的应用程序然后正式在app store上发布了这个。例如,捕捉。