IOS订阅结束通知

Posted

技术标签:

【中文标题】IOS订阅结束通知【英文标题】:IOS subscription end notification 【发布时间】:2012-01-28 16:48:50 【问题描述】:

我希望构建一个 ios 应用程序,该应用程序将按月使用自动更新订阅。我们将使用一些每月收费的 VOIP 功能。我的问题是,当用户在 IOS 中取消订阅时,我们如何得到通知,以便我们可以通过我们的提供商取消用户的 VOIP 电话号码。

【问题讨论】:

【参考方案1】:

如上所述,您需要进行服务器端收据验证。您可以查看 Apple 的文档 here。 仅在订阅期结束时检查订阅状态是不够的,因为用户可以通过联系 Apple 退还订阅费用。您需要在服务器上获取退款。为此,您可以使用 Apple 的服务器到服务器通知。此外,还有许多其他极端情况,包括订阅升级。构建订阅验证服务器是一项复杂的任务,因此您可能需要为此使用第三方服务。

【讨论】:

【参考方案2】:

另外,请不要使用 Apples IAP 文档中的以下内容:

此外,沙盒订阅最多只能自动续订 6 次。订阅自动续订 6 次后,将不再在沙盒中续订。

【讨论】:

【参考方案3】:

您需要以与常规应用内购买相同的方式验证收据,但显然您将在每次订阅期到期时执行此操作。查看文档,Verifying an Auto-renewable Subscription Receipt

因此,基于此,您似乎需要设置服务器以每月检查有效订阅(cron 作业?)。如果订阅不再有效,这将允许您取消系统中的 VOIP 号码。您的应用将负责验证订阅在打开或用户尝试访问需要订阅的功能时是否仍然有效。

已更新以供评论

沙盒应该按照以下方案返回到期日期。

这是iTunes Connect Developer Guide的第164页

如果它不能以这种方式工作,您可能需要提交错误报告。

【讨论】:

(第一次)购买订阅后,立即要求我提供验证收据。在收到的收据中,有“expires_date”字段,它给出了自 1970 年以来的毫秒数。使用沙盒服务器进行测试时,它总是给出今天的日期。我不知道沙盒服务器是否只为测试目的提供较短的持续时间,还是只为续订订阅提供确切的过期持续时间。如何查看过期日期。 查看我的更新,实际上我只是注意到我回复了the question你发布的相同信息。

以上是关于IOS订阅结束通知的主要内容,如果未能解决你的问题,请参考以下文章

iOS通知中心

PHP苹果支付以及事件通知-周期订阅实现

PHP苹果支付以及事件通知-周期订阅实现

iOS中结束日期之前的本地通知

iOS BLE 蓝牙 8.1 及更低版本 BLE 订阅特征通知无响应

IBM Worklight 5.0.5:通过操作系统的通知句柄控制 Worklight 推送通知订阅/取消订阅