我有一个 iOS 应用程序(和一个网站)。应该有一个高级用户选项,即如果他/她是高级用户,他/她可以访问特殊内容。用户可以按月或按年成为高级用户。
第一个问题 - Apple 是否允许该设施在网站上以及通过 InAppPurchase 提供相同的产品供购买(遵循 Apple 的规则 - 应用程序中不会有任何链接或指示可以购买相同的产品网站)。因此,如果用户通过 InAppPurchase 购买高级帐户,他/她可以像高级用户一样登录网站,反之亦然。
如果允许,使用消耗型产品实现高级用户功能并让服务器管理所有内容或使用不可更新订阅会更好吗?
Consumable Approach 执行 InAppPurchase,然后向服务器发送请求说当前用户是一个月/年的高级用户,然后每次应用启动/用户登录时,调用 API 来检查当前用户是否是高级用户用户与否。
需要处理的棘手情况是 1. 当用户使用应用程序时,他/她的高级用户状态正好到期。2. 如果InAppPurchase 完成后网络中断并且对服务器的请求不完整。
不可更新的订阅方法我不确定它是如何工作的,但我猜它会类似于消耗品。
这两种方法中哪一种更适合恢复以前的交易?