gpt4 book ai didi

iOS 和 Firebase 自动更新订阅

转载 作者:行者123 更新时间:2023-12-01 15:24:27 25 4
gpt4 key购买 nike

我的问题:

我很难找到一种使用 Firebase 在 iOS 中安全管理自动更新订阅的方法。

购买流程:

  • 用户 1 购买订阅
  • 使用订阅标识符在 Firebase 上更新 User1 的帐户
    (用于解锁内容)
  • 存储带有 User1 的 uid 的 original_transaciton_identifier(OTI) 以匹配 Apple 的收据验证。
  • 授予用户访问权限

  • 边缘情况导致我的大脑内爆:
  • 用户 1 从用于购买订阅的 AppleId 注销,但仍使用 Firestore 凭据登录到应用程序。
  • 因此,当我去验证订阅是否已过期时,它不会返回有效订阅。我希望用户能够保留他们的访问权限,直到它过期或取消。关于实现这一目标的任何提示?
  • User2 登录到 User1 之前使用的同一设备。
  • 因此,两个用户都使用相同的 AppleId。我可以检查当前用户是否有订阅,并检查 OTI 以查看它是否对应于 User2...它不会。
  • 我们将显示“购买 iAP”屏幕,但是如果该用户还想在同一个 AppleId 下购买订阅怎么办?我处理这句话“Apple Id 已经连接到另一个帐户或其他东西”是正常的吗?

  • 我能找到的相关文章:

    How to tie auto-renewable subscriptions to in house user, not appled id

    我一直在为此苦苦挣扎,但一直找不到很多资源。感谢所有帮助。

    最佳答案

    对于案例#1:

    当您尝试访问收据时,Apple 将触发登录提示,让用户输入其 iTunes 凭据。如果收据仍然不可用,您将无法验证订阅状态。执行此操作的“正确”方法是将整个收据存储在您的服务器上,并定期使用 /verifyReceipt 刷新它。 .您将检查订阅是否已取消,并更新 expiration_date所以你知道什么时候切断用户的访问。

    对于案例#2:

    Is it normal for me to handle this saying, "Apple Id already connected with another account or something"?



    是的!如果您能够查看其他一些大型订阅应用程序(Netflix、Spotify、HBO 等)如何处理这个问题 - 它与您所描述的类似。如果您在服务器上保持订阅状态(如#1 中所述),则不是每次都在本地检查收据,这只会在用户尝试“恢复购买”时发生。

    这是一个非常极端的情况,因为没有多少人会尝试在他们 friend 的手机上购物,并且在大多数情况下需要 TouchID/FaceID - 所以它更像是一种防欺诈功能。一旦您获得了数百万用户,您就可以花心思,如果您检测到这一点,您可以向他们发送自动电子邮件链接以注册 Stripe。

    替代:

    RevenueCat可以开箱即用地处理所有订阅跟踪和这些边缘情况,并且与 Firebase 配合得很好。 .免责声明:我在那里工作。

    关于iOS 和 Firebase 自动更新订阅,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55343004/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com