2012-05-21 58 views
16

我正在与客户端合作构建使用自动续订订阅的报亭应用。我似乎无法弄清楚这一点的正确逻辑。我了解应用内购买,但之前从未与订阅混淆过。iOS中的自动续订订阅背后的逻辑

我似乎无法包住我的头来跟踪这一点。看起来苹果公司希望尽可能的难。

我想要一个应用程序,每月提供一本新杂志作为单一的非消费品购买,或允许他们订阅。

我了解购买订购时验证收据的概念,但之后会发生什么?应用程序是否每次启动时都会重新检查订阅,以查看订阅是否最新?初次购买后,更新收据来自哪里?

我看着城市飞艇似乎跟踪这个为你 - 但我没有找到一个示例应用程序或教程实施的订阅。有没有其他的服务?

+0

您是如何使用订阅的产品id进行管理的? –

回答

29

我想要一个应用程序,每月提供一本新杂志作为单一的非消费品购买,或允许他们订阅。

我认为苹果公司针对您的情况创建了可自动更新的应用内购买。自动更新的类比是杂志订阅,订阅在每个订阅期结束时更新。例如,您可能需要一年订阅NYTimes,在订阅结束时,NYTimes会为您支付一年的费用以保持订阅。

同样,在iTunes自动更新的情况下,Apple会在其订阅到期时为订阅用户开单,除非用户在到期期限之前取消订阅。为了正确工作,您 - 开发人员 - 需要使用iTunes进行检查,以确定用户的订阅是否仍然有效,才允许他们访问当前月份的报亭内容。换句话说,您在验证用户的订阅收据后解锁内容。

将您从iTunes获取的用户当前收据存储在某个地方(例如NSUserDefaults)后,您可以从苹果获得该收据。要验证用户的收据是否仍然有效,请将存储的收据提交给Apple进行验证。

顺便说一下,您应该有一种方法让用户从您的应用中恢复收据 - 以防他们拥有新设备或重新安装您的应用。

我同意苹果公司的文件有很多不足之处。我们花了几个星期的时间去完成我们的应用。它看起来像其他人花费相似的时间来使他们的工作。因此,如果你无法花时间去学习,那就花点时间或外包这个任务。

查看In-app programing guide了解事情应该如何工作的描述。 2011年WWDC发布的两款应用内购买视频:“iOS和Mac OS X的应用内购买”和“App Publishing新增功能”对我们也有所帮助。

其他有用的链接包括:

  1. The limited world of auto-renewable subscriptions
  2. In App Purchases: A Full Walkthrough
  3. Verifying Apple App Store Receipts For In App Purchases With PHP and cURL
  4. All About In-App Purchases Part 3: Anti-Piracy Measures

您需要在最后一个链接中使用代码-createEncodedString方法将收据正确提交到服务器进行验证。

有了这些链接,我希望我为您节省了大量的研究和试验和错误,以帮助您的工作。祝你好运。

+0

非常感谢您的信息。你的几段比苹果文档在解释这个方面做得更好。我会在早上看看你的链接,但我有一个问题 - 当应用程序检查当前收据是否有效时 - 收据数据来自哪里?它与刚刚进行新购买相似吗?还是有某种方法可以以某种方式请求当前收据? – Brodie

+0

您将收据返回给SKPurchase委托方法 - 就像非消耗性收据一样。如果订阅成功,您检查通话结果并剥离收据。 – Sunny

+0

所以这就像进行新的购买,还是续购购买只是坐在itunes服务器上,等待用户再次登录并查看应用程序?再次感谢伟大的信息。 – Brodie

相关问题