2013-03-28 92 views
5

我有一个iPhone应用程序,还具有自动更新产品作为应用程序内购买。这些产品将在未来1年内订购我们的服务。我们希望在下一个版本中从我们的应用中删除整个应用内购买和自动更新产品。从iPhone应用程序中删除自动更新订阅

要做到这一点,我们删除我们的应用程序内的注册选项,所以没有新的用户应该能够注册。现在我们想要禁用所有现有用户的自动续订。

我该如何做到这一点?在iTunes Connect中删除我们的应用程序的应用程序内产品是否足够?用户是否会收到此通知?

回答

9

据苹果公司(见WWDC 2011 Session 510在应用内购买iOS和OS X,在48:55标志),你可以做一个开发商的唯一的东西,以防止订阅自动更新是:

  • 提高价格。
  • 从iTunes连接中删除自动更新的IAP产品。

在这两种情况下,通知邮件都会发送给订阅者,但不是立即发送。谈话说苹果在每年(每年)订阅续订前10天检查并在当时发送电子邮件。但是,它并没有记录在任何地方,所以我会将其视为实现细节。

我已经使用我自己的(每月)应用多次完成了后者(删除产品),并且它看起来像广告一样工作。

一个重要的提示:如果您的应用程序是一个报亭应用,它必须有至少一个自动更新订阅。如果你删除了最后一个,应用程序将从App Store中删除。已经购买它的用户仍然可以使用它,并且可以从应用商店的“以前购买”部分下载副本,但是没有新的副本会显示在App Store中正确购买。

+1

如果产品从iTunes连接中删除,用户仍可以恢复正在运行的订阅吗? – 2014-10-23 13:14:40

-1

这将取决于你实现了你的系统。您是否从自己的服务器检查收据(并提供数据/服务),还是直接在Apple的服务器中直接在应用程序中执行?

在iTunes Connect可以立即或在未来某一时间停止销售产品,有效的。我怀疑这足以阻止更新订阅。 (记住,你可以在沙盒缩短时间表进行测试。)但是,如果没有:

  • 如果您使用自己的服务器来验证收据,去使验证步骤失败给它一个不正确的共享密钥。这意味着订阅有效性将返回为false(尽管出于“错误”原因),因此您的客户将无法续订。

  • 如果你的应用程序中做到这一点,生成一个新的共享秘密,因此现有结构中的一个不正确。然后,如上所述。

  • 如果可以的话,我建议发送一个通知给你的当前用户,通知他们这个变化,并建议他们改变,让他们知道将来'失败',但没关系。

+0

谢谢!然而,测试产品的移除是不可能的,沙箱只能访问生产产品。然而苹果在续约时应该怎么做 - 他们不能销售不存在的产品。我认为唯一的可能性就是在实时数据上进行测试。 – j0nes 2013-04-05 07:02:14

+0

为什么不为沙箱环境创建测试产品(类似于您提交1.0版本之前)?当然,你可以创建一个新的订阅产品,但不提交它发布,并测试? 我很确定你需要做的是从销售中删除产品,而不是完全删除它。删除它可能会对仍然订阅的人产生不利后果 - 例如,收据验证失败并在过渡期间锁定合法用户。 – Freney 2013-04-05 07:38:35

相关问题