我正在与客户合作构建一个使用自动续订订阅的报亭应用。我似乎无法弄清楚这个的正确逻辑。我理解应用内购买,但之前从未搞过订阅。
我似乎无法围绕着追踪这一点。苹果似乎希望这一点尽可能困难。
我希望有一个应用程序,每月提供一本新杂志作为单一的非消费品购买,或允许他们订阅。
我理解在购买订阅时验证收据的概念,但之后会发生什么?应用程序是否每次启动时重新检查订阅以查看订阅是否是最新的?初次购买后,续订收据来自哪里?
我调查了Urban Airship,它似乎跟踪了你 - 但我没有找到实现订阅的示例应用程序或教程。还有其他这样的服务吗?
答案 0 :(得分:30)
我希望有一个应用程序,每月提供一本新杂志作为单一的非消费品购买,或允许他们订阅。
我认为Apple为您的情况创建了可自动更新的应用内购买。自动更新的类比是杂志订阅,其中订阅在每个订阅期结束时更新。例如,您可能有一年订阅NYTimes,在订阅结束时NYTimes会向您收取另一年的费用以保持订阅。
同样,随着iTunes自动续订,Apple将在订阅到期时向订阅用户收费,除非用户在有效期之前取消订阅。为了正常工作,您 - 开发人员 - 需要先与iTunes核实用户的订阅是否仍然有效,然后才能授予他们访问当前月份报刊内容的权限。换句话说,您在验证用户的订阅收据后解锁内容。
从Apple获取后,您可以存储用户从iTunes获取的当前收据(例如,NSUserDefaults)。要验证用户的收据是否仍处于活动状态,您需要将存储的收据提交给Apple进行验证。
顺便说一下,您应该有办法让用户从您的应用中恢复收据 - 以防他们拥有新设备或从头开始重新安装您的应用。
我同意Apple提供的文件有很多不足之处。我们花了几个星期的繁琐工作来完成我们的应用程序。看起来其他人花费相似的时间来使他们的工作也一样。因此,如果你没有时间去学习它,请花时间或者完成这项任务。
查看In-app programing guide,了解事情应该如何运作。来自2011 WWDC的两个应用内购买视频:“iOS和Mac OS X的应用内购买”和“App发布中的新功能”对我们也有所帮助。
其他有用的链接包括:
您需要在最后一个链接中使用代码-createEncodedString方法将收据正确提交给服务器进行验证。
通过这些链接,我希望我已经为您节省了大量的研究和反复试验以帮助您的工作。祝你好运。