解决应用内购买缺少促销代码的问题
Apple 不提供应用内购买的促销代码。让用户免费尝试通过应用内购买解锁的功能或内容,同时遵守 Apple 开发者指南的最佳方式是什么?
这个想法是允许一组特殊的用户(评论者、主要粉丝等)无需付费即可访问作为应用内购买提供的内容或功能。
解决此限制的应用程序示例将不胜感激。
Apple doesn't offer promotional codes for in-app purchases. What's the best way to let users try the features or content unlocked by in-app purchases for free, while complying with Apple's Developer Guidelines?
The idea is to allow a special set of users (reviewers, key fans, etc.) to access the content or features offered as in-app purchases without paying.
Examples of apps that worked around this limitation would be much appreciated.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
您可以提交默认情况下解锁所有功能的应用程序版本。
提交的应用程序有一个发布日期,您可以在提交时设置(我相信您也可以即时更改此日期)您可以简单地阻止该应用程序在应用程序商店中发布,但仍然可以为其提供促销代码。
来源
You could submit a version of your application that has all features unlocked by default.
Submitted apps have a publish date that you can set when you submit (and I believe you can change this on the fly as well) you could simply prevent the app from being published in the App store but still be able to give promotional codes for it.
Source
类似共享软件之类的东西?一个应用程序在应用程序内购买之前启用了部分功能?苹果现在允许了。
举个例子。我们有一个益智游戏,有 12 个难度级别。其中 4 或 5 个免费,其他则在应用内购买后解锁。
Something like shareware? An app, that has a subset of features enabled until in-app purchase? Apple allows it now.
As example. We've a puzzle game, that has 12 difficulty levels. 4 or 5 of them are available for free and others are unlocked after in-app purchase.
我现在正在研究这个。
我正在做的是生成一个随机代码/guid 并将其存储在我的 webService 的数据库中。然后将该代码提供给您想要的任何人。他们输入该代码,它会调用传递代码和设备 UDID 的 Web 服务。 webService 返回另一个代码,指示该促销代码是否有效。如果有效,则应用程序会将购买添加到 NSUserDefaults 或 Core Data(但是您可以跟踪购买)。
如果您没有启动并运行的服务器(假设内容已经在应用程序包中)并且您不希望服务器需要您制定算法来生成应用程序验证的密钥。然而,这远没有那么稳健。使用网络服务可以防止在所有用户之间分发 1 个工作密钥,因为您可以将 1 个促销代码绑定到 1 个设备。
I'm working on this now.
What I'm doing is I generate a random code/guid and store that on my webService's DB. Then give that code to who ever you want. They enter that code and it calls the web service passing the code, and device UDID. The webService returns another code indicating if that promocode was valid. If valid then the app will add that purchase to NSUserDefaults or Core Data (however you keep track of purchases).
If you don't have a server up and running (say the content is already in the app bundle) and you don't want a server would require you making an algorithm to generate keys that your app validates. However this is far less robust. Using a web service allows you to prevent 1 working key from being distributed between all users, as you can tie 1 promo code to 1 device.