【问题标题】:Update Apple Subscription state for IAP to our server将 IAP 的 Apple 订阅状态​​更新到我们的服务器
【发布时间】:2021-04-23 13:36:43
【问题描述】:

我们为所有类型的订阅实施了服务器端收据验证。现在的重点是,当我们从 iPhone 设置升级计划时,我们会收到 DID_CHANGE_RENEWAL_STATUS 通知类型,而在取消订阅时,我们还会收到 DID_CHANGE_RENEWAL_STATUS。我们怎么知道哪个状态是什么?

我们在服务器端的逻辑是,如果我们收到 INTERACTIVE_RENEWALDID_RENEW 意味着计划已升级,如果我们收到 DID_CHANGE_RENEWAL_STATUS 而不是计划被取消或过期。

还有几个问题:

  1. 我们想知道如果我们从设置中取消了计划,Apple 有没有 会立即发送通知还是在计划到期时发送通知?
  2. 我们降级计划将苹果发送降级服务器到服务器 立即通知或当前计划到期时通知我们 在当前之前不想知道新的降级计划给用户 计划到期?

我们使用过的技术:NodeJS 和 React Native

【问题讨论】:

    标签: ios node.js react-native in-app-purchase


    【解决方案1】:

    这些通知有时有点令人困惑,我不排除它们可能是错误的可能性。但对应于 2020 年 WWDC 视频 What’s new with in-app purchase(见 15 分 42 秒),您应该会收到升级的 INTERACTIVE_RENEWAL 以及之前较低级别订阅的 CANCEL。 p>

    通知类型的在线documentation 在“处理通知事件的用例”中声明您应该收到以下升级通知:CANCELDID_CHANGE_RENEWAL_STATUSINTERACTIVE_RENEWAL

    您收到关于“取消”的 DID_CHANGE_RENEWAL_STATUS 通知是正确的,因为除了 Apple 支持之外,没有人可以取消订阅。您在 Manage Subscriptions 对话框中真正要做的是停用自动续订,因此只会更改续订状态。

    关于您的其他问题:

    1. 当用户停用(“取消”)其订阅的自动续订时,Apple 将立即发送 DID_CHANGE_RENEWAL_STATUS
    2. 当用户降级时,Apple 会立即发送 DID_CHANGE_RENEWAL_PREF 通知。请记住,降级只会在下一次自动续订时发生。在此之前,用户有资格访问更高计划中的内容。

    【讨论】:

    • 如果我没记错的话,在降级时,Apple 发送 DID_CHANGE_RENEWAL_PREF 的计划对吗? @paul-schröder
    • 此外,当降级事件触发时,我们不会将状态更新为降级计划,因为新计划将在当前计划到期后生效。那么一旦当前计划到期,Apple 会发送任何通知吗?如果是,那是哪种类型的通知?
    • 您完全正确,感谢您指出这一点。我用正确的通知类型更正了我的答案。
    • 是的,用户保持此访问级别直到订阅续订。当新计划开始时,您将收到 DID_RENEW
    • 谢谢@paul-schröder
    猜你喜欢
    • 2018-02-23
    • 1970-01-01
    • 2016-10-06
    • 2019-03-12
    • 2018-11-29
    • 1970-01-01
    • 2020-08-09
    • 1970-01-01
    • 2012-06-23
    相关资源
    最近更新 更多