我的问题:
我很难找到一种方法来安全地管理iOS中使用Firebase的自动续订订阅。
购买流程:
边缘情况导致我的大脑崩溃:
我找到的相关文章:
How to tie auto-renewable subscriptions to in house user, not appled id
我一直在努力解决这个问题,但却找不到很多资源。所有帮助表示赞赏。
对于案例#1:
当您尝试访问收据时,Apple将触发登录提示,以便用户输入其iTunes凭据。如果收据仍然不可用,您将无法验证订阅状态。执行此操作的“正确”方法是将整个收据存储在您的服务器上,并使用/verifyReceipt
定期刷新它。您将检查订阅是否已取消,并更新expiration_date
,以便您知道何时切断用户的访问权限。
对于案例#2:
我处理这句话是否正常,“Apple Id已经与另一个帐户连接了什么”?
是!如果您能够查看其他大型订阅应用程序如何处理此问题(Netflix,Spotify,HBO等) - 它与您描述的类似。如果您在服务器上维护订阅状态(如#1中所述),则只有在用户尝试“恢复购买”时才会发生这种情况,而不是每次都在本地检查收据。
这是一个非常极端的边缘情况,因为没有多少人尝试在他们的朋友手机上进行购买,并且在大多数情况下需要TouchID / FaceID - 因此它更像是防欺诈功能。一旦您获得了数百万用户,您就可以获得想象力并向他们发送自动电子邮件链接,以便在您检测到此情况时使用Stripe进行注册。
替代方案:
RevenueCat可以处理所有订阅跟踪和开箱即用的边缘情况,它与Firebase配合使用。免责声明:我在那里工作。