【问题标题】:How to handle renewal of autorenewable subscriptions (ios/android)?如何处理自动续订订阅 (ios/android) 的续订?
【发布时间】:2018-05-19 19:54:37
【问题描述】:

也许我只是没有找到正确的地方,但我对缺乏包含续订订阅的跨平台应用程序的文档感到惊讶。

我有一个跨平台(iOS 和 Android)Ionic 应用程序,后端有一个 Rails API。我使用 https://github.com/AlexDisler/cordova-plugin-inapppurchase 作为 iOS/Google 商店 SDK 的包装器。

我的问题是关于续订的:

根据我收集到的信息,建议我每天检查每个订阅的到期日期。如果订阅即将到期,我可以将存储在我的数据库中的收据发送给 Google/Apple 并检查订阅是否已续订。如果有,我会更新到期日期并保持订阅有效。如果订阅尚未续订,我会将订阅标记为非活动状态。

现在,如果用户续订订阅会怎样?我如何知道订阅已续订?我什么时候检查订阅续订?似乎我的选择是:

  • 每天检查每个过期的订阅是否续订。这样做的问题:1)随着用户数量的增长,订阅过期的用户数量也会增加。最终,这将导致每晚检查很多很多过期的订阅。 2) 用户在通过应用/Play 商店续订订阅和运行每晚订阅检查作业之间将无法访问仅限订阅的内容。

  • 每次订阅过期的用户登录应用时,请检查他们是否已续订订阅。问题:1)我的应用程序使用令牌身份验证。因此,用户无需在每次使用时登录。因此,如果用户续订了他们的订阅,但他们的令牌仍然有效,那么应用将无法知道他们的订阅是最新的。

还有其他选择吗?我在这里错过了什么?

【问题讨论】:

  • 在 iOS 上,应用程序将收到包含新订阅详细信息的更新收据。当用户打开它时,应用程序应该向您的服务器提供这个更新的收据
  • @Paulw11 - 我如何收到更新后的收据?你有这个文档的链接吗?我也想知道github.com/AlexDisler/cordova-plugin-inapppurchase 是否支持这个功能。另外,Android 是否提供类似的功能?
  • Apple 应用内购买指南中对此进行了介绍。 developer.apple.com/library/content/documentation/…Apple 还可以 POST 到您的服务器以通知您续订。
  • @Paulw11 看到 -- 试图确定我是否需要将这些通知集成到我的应用程序中(它确实增加了一些复杂性,而且我们的日程安排很紧)。还试图同时找出 Android。

标签: android ios in-app-purchase


【解决方案1】:

我建议同时使用这两个选项。

当用户打开您的应用程序时,您应该向您的后端发送一个单独的请求,该请求将获取收据以检查是否已更新并缓存到期日期和检查时间。然后我会在夜间运行另一个作业,它不会检查所有过期的收据,但如果在一定时期内没有检查过,则会清除过期日期缓存。然后,下次用户打开应用程序时,缓存将是空的,并且会被获取。

我正在努力将 Android 订阅添加到 RevenueCat,但几个月后才能准备好。

【讨论】:

  • 检查应用程序负载(而不是登录)是有意义的。那可以工作。我还看到 Google 和 Apple 都有您的服务器可以订阅的通知服务——我正在尝试确定与这些服务的集成是否绝对必要?如果没有必要,我不想增加复杂性。
  • 不是。通知会提前通知您,并可能让您减少检查的次数,但您不需要它们。它们的实施也很重要,因此可能不值得付出努力。
猜你喜欢
  • 2017-06-16
  • 2015-06-26
  • 2018-08-28
  • 1970-01-01
  • 2021-06-21
  • 2015-02-27
  • 2014-03-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多