如何更新自动更新订阅收据

Posted

技术标签:

【中文标题】如何更新自动更新订阅收据【英文标题】:How to update auto-renewable subscription receipt 【发布时间】:2015-01-12 19:18:14 【问题描述】:

我正在尝试在应用中实现自动续订订阅,它的工作原理如下:

    用户购买订阅。 应用程序获取收据并将其发送到我的 webService。 我的 webService 验证收据,将用户角色从免费更改为 VIP,并记录收据。

现在的问题是:当到期日期到来时,我应该在我的 webService 还是在应用程序中验证收据?

如果它在 webService 上,我是否应该尝试验证旧的收据(已存储),如果续订或取消,Apple 会返回给我最新的收据吗?

如果它在应用程序上,我应该如何继续?续订或取消订阅时,storeKit 是否会发出某种通知?

如果正确的方法是第二种(App),由于我的webService控制用户的角色是Free还是VIP,所以每次续订时我都必须将最新的收据发送到我的webService,所以,它可以正确管理用户的角色。这就是为什么我需要知道如何以及何时获取要发送的最新收据。

【问题讨论】:

你看到***.com/questions/18161036/…了吗? 【参考方案1】:

更有用的方法是第一种 - 通过您的网络服务。 当您尝试验证旧收据(已存储)时,Apple 可能会通过以下两种方式之一进行回复:

    如果用户没有取消订阅,您将获得最新的收据,并延长到期日。 如果用户取消了订阅,您将只收到带有旧到期日期的收据。

因此,您可以根据到期日期创建是否延长 VIP 会员资格的逻辑。

此外,您可以在应用端配置您的身份验证调用,以每 12 小时或 24 小时重新对用户进行身份验证,这样您也将获得更新的会员状态。

【讨论】:

以上是关于如何更新自动更新订阅收据的主要内容,如果未能解决你的问题,请参考以下文章

自动更新 IAP 订阅用户流和刷新收据

自动更新订阅

自动更新订阅:检测差距

Android Google Play 订阅不自动更新

从验证收据中检查自动续订订阅到期日期

我是不是必须验证每个 SKPaymentTransaction 订阅的收据?