从免费应用程序中删除应用程序内购买并提高价格
App Store中当前版本的应用程序是免费的,功能非常有限。应用内购买可解锁其他所有内容。从免费应用程序中删除应用程序内购买并提高价格
我已决定删除应用程序内购买,只是使应用程序的成本价格相同的In-App Purchase的那样。但是,如果我现在进行更新,那些拥有免费版本但尚未支付应用程序内购买费用的用户将获得完整版本的免费更新。
我已删除了我的单例类,PurchaseManager的所有痕迹,从应用程序,所以,在这一点,当我建立/运行,所有的功能被解锁。在这一点上,我如何确保免费版用户不会只是更新到完整版?
也许有一种方法可以测试应用程序是通过更新还是通过购买获得的?这样,如果是通过更新,我会看看它是否是免费版本,不包含IAP,然后强制用户购买IAP继续播放。
任何想法?
确保在第一个版本中设置了用户默认值。如果objectForKey:返回nil,那么它从来没有设置,这意味着第一个版本从未运行。在这种情况下,我将YES设置为用户默认是否购买了应用内购买。
以上只运行了一次,这保证了演示的用户继续使用演示,直到他们购买了应用程序内购买(与第二版游戏相同的价格),并且完整版的用户从v1.0开始就有了完整的版本。
有趣的方法。因此,您将保留所有IAP功能,但仅向未升级的免费版用户显示。唯一的缺点是必须在未来的版本中支持IAP。至于只存在于第一个版本中的NSUserDefaults值,我想一个简单的解决方案是在后续版本中重命名一些默认值。因此,较新版本的应用程序将使用“username2”而不是“username”,并且如果定义了“username”,则显然用户拥有较早的版本。 – 2010-06-11 15:15:13
我认为这是关于你能做的最好的。虽然这并非万无一失。如果有人从手机上卸载应用程序,然后安装更新(我相信)你NSUserDefault的设置将会消失。它看起来像一个新的购买,所以用户将获得所有功能。同样的问题,如果他们添加第二个电话的帐户。 – Axeva 2011-03-09 14:28:46
不那么容易。推出一个小的更新您当前的应用程序,并记录所有那些谁获得了应用程序激活的设备ID。
发布博客在您的网站要求用户在他们的设备ID和电子邮件发送的重新imbursing的应用程序内购买的成本。您可以从收集的设备ID进行交叉验证。
我知道这很痛苦。大多数首先在Cydia上发布应用程序然后在应用程序商店正式发布应用程序的人都这样做了例如,snapture。
因为苹果公司需要30%的支出,所以这样做会损失很多钱。我不会推荐这个。 – iwasrobbed 2011-04-17 17:18:05
是不是可以指定更新价格?因此,如果您想更新(完整版),您必须付费。 – dododedodonl 2010-04-04 19:12:49
然后,为第一个版本的应用内购买付费的用户将不得不再次支付更新费用。我试图避免这种情况。 – 2010-04-04 19:24:36