应用内购买缺少促销代码的解决方法

11

苹果不提供应用内购买的促销代码。如何让用户免费尝试应用内购买解锁的功能或内容,同时遵守苹果的开发者指南?

想法是允许一组特殊的用户(评论员,核心粉丝等)在不支付费用的情况下访问应用内购买提供的内容或功能。

欢迎提供可以绕过此限制的应用程序示例。


你最终使用了Eric的解决方案吗?我不确定我是否正确理解了它。他的意思是,当您提交一个具有未来发布日期的应用程序时,即使该应用程序尚未在应用商店中,审阅者仍将能够使用您提供的促销代码下载它吗? - Bart
3个回答

9
你可以提交一个默认开启所有功能的应用版本。
提交的应用有一个发布日期,你可以在提交时设置(我相信你也可以随时更改),你可以简单地阻止应用在App Store上发布,但仍然可以提供促销代码。
促销代码适用于特定的应用程序版本,因此当用户兑换尚未发布的应用程序版本的促销代码时,他们会下载预发布版本。 来源

如果应用程序已发布,任何人都可以下载它吗? - hpique
不,即使您的应用程序已获批准,您也可以设置发布日期,在您设置的日期之前,它不会在应用商店上线。这在协调营销活动时非常有用。https://itunesconnect.apple.com/docs/iTunesConnect_DeveloperGuide.pdf 请查看“添加新应用程序”-可用性日期。 - Eric Schweichler
有趣。这对于应用程序的第一个版本来说是可行的。但一旦它上线了,就不可能再做了,对吧? - hpique
没有任何限制阻止您提交新的更新,可以将发布日期设置在未来。 - Eric Schweichler
虽然这是一个聪明的解决方法,但听起来它不太适合扩展。如果您有3个不同的IAP需要单独推广,那就需要额外创建3个版本。如果您需要修复错误或进行其他更新,则必须更新主应用程序以及3个特殊版本。您不允许同时提交相同应用程序的多个版本,而且特殊客户在故障修复/更新后都需要重新发送其促销代码。等等。 - Olie
已经有一段时间了,但是为了澄清一下:您的意思是即使应用程序没有在应用商店中发布,评论员也可以通过输入促销代码来下载它吗? - Bart

0

类似共享软件?一款应用程序,具有部分功能,直到进行应用内购买才能启用其他功能?苹果现在允许这样做。

例如,我们有一个拼图游戏,有12个难度级别。其中4或5个是免费的,其他的需要进行应用内购买才能解锁。


我澄清了问题。在您的应用程序中,如何允许评论者在不支付费用的情况下访问4或5个付费级别? - hpique
不可能允许某人在应用内购买没有支付费用的情况下进行游戏。对于评审员来说,创建一个临时版本有时更合适。关于未支付4-5个级别的问题 - 这是应用内购买功能的相当简单的使用。 - bealex

0

我正在处理这个。

我的做法是生成一个随机的代码/GUID,并将其存储在我的Web服务数据库中。然后把该代码交给任何你想要的人。他们输入该代码并调用Web服务,传递代码和设备UDID。WebService返回另一个代码,指示该促销代码是否有效。如果有效,则应用程序将将该购买添加到NSUserDefaults或Core Data(不管你如何跟踪购买)。

如果你没有运行的服务器(例如内容已经在应用程序包中),并且你不想要服务器需要你制作一个算法来生成应用程序验证的密钥。但是这远不如强大。使用Web服务允许您防止1个工作密钥被分发给所有用户,因为您可以将1个促销代码绑定到1个设备。


2
在应用程序中允许用户输入促销代码是否违反了苹果的iPhone开发者协议(特别是第3-3-3条款)?您是否已经看到有任何应用程序这样做了? - hpique
我刚才看了一下,你是对的。我可以尝试让设备下载一个短的已批准UDID列表,并检查它是否在其中。我意识到这并不是被批准的更简单的方法,但可能能够悄悄地通过审核。 - jamone
从网上来看:'2011年7月 - 我的应用程序今天因为这个被拒绝了。根据App Store审核指南:“11.1 - 使用除App Store以外的机制解锁或启用其他功能的应用将被拒绝”。我认为有些应用通过对苹果隐藏功能来规避此问题。' - kevinlawler
另一条来自2013年7月的信息:'11.1 我们发现您的应用程序使用除App Store以外的机制不当地解锁或启用其他功能,这与App Store审核指南不符。具体而言,我们注意到该应用程序利用代码来解锁功能。' - kevinlawler

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接