我正在构建一个简单的约会应用程序,允许用户通过自动续订订阅成为高级用户。用户的“isPremium”属性值在创建帐户时为 false,而在通过应用内购买购买订阅后变为 true。但我必须再实现一件事才能完成这个高级功能,这就是我遇到问题的地方!
当应用启动时,如何监控应用当前用户的订阅状态?如果他们的订阅仍在进行中,我想将他们的“isPremium”属性保持为 true,但如果订阅已过期,则立即将其更改为 false。
我知道这里可能已经有人问过这个问题,但答复很复杂,而且大部分是在 Obj-C 中(我正在用 Swift 构建这个应用程序)。最好的举措是使用 Python 的后端服务器来验证收据吗?或者是否有更简单、更直接的方法从订阅产品对象或处理后端工作的 Cocoapod 获取到期日期?请帮忙!谢谢
最佳答案
最好的举措是像您提到的那样使用后端服务器。通过这种方式,您可以将收据文件存储在那里,并定期通过 Apple 刷新它,这样您就可以始终了解任何用户的订阅状态。
在设备上,您向服务器请求订阅状态并将其缓存(约 5 分钟)。每次用户恢复或打开您的应用程序时,请检查缓存是否已过时并刷新它。通过这种方式,您可以防止过期用户保留访问权限超过 5 分钟,同时在应用程序启动时保持快速和敏捷。
Or is there a simpler, more direct way of getting an expiration date from a subscription product object or a Cocoapod that handles this backend work? Please help!
如果您正在寻找开箱即用的解决方案,RevenueCat 是一个可靠的选择,它可以处理所有后端工作。他们也有免费套餐。 https://github.com/revenuecat/purchases-ios
关于ios - 如何在应用程序启动时监控订阅状态(快速),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57188757/