小编mk-*_*v-1的帖子

使用服务器到服务器通知和 Firebase Cloud Functions 对 iOS 和 Android 自动续订订阅进行服务器端验证

我已成功为 Google Play 实施订阅验证,但我很难理解 iOS 自动续订订阅的验证流程,想寻求您的帮助。以下是 Google Play 的高级逻辑:

新订阅验证

  1. 用户在应用程序中购买订阅。
  2. 在我的 Firestore 数据库中创建了一个SubscriptionRequest,其中包括UserID和交易令牌
  3. 云函数获取该SubscriptionRequest并使用令牌查询相关的 Google API以获取订阅详细信息。这是使用googleapis Node.js 库完成的。
  4. 最新的订阅详细信息作为Subscription保存在 Firestore 中,包括令牌(作为linkedPurchaseToken)和UserID
  5. 认购的截止日期进行评估,如果它没有过期,该用户在火力地堡被更新,标志hasActiveSubscription设置相应(包括订阅的谷歌播放标识,如monthly_sub,或annual_sub和平台,在这个案例安卓)。

Google Play 开发者通知

  1. 通过发布/订阅云功能接收通知。
  2. 将使用相关的 Google API 和通知中的令牌获取相应的订阅详细信息。
  3. 如果数据库中不存在具有该令牌的订阅(如linkedPurchaseToken),我们将尝试使用在(2)中获取的订阅详细信息中的linkedPurchaseToken在我们的数据库中查找现有订阅
  4. 如果在数据库中仍然找不到订阅,这显然意味着它是一个新订阅,它将通过上述新订阅验证过程专门处理。这样做的原因是我无法链接我的用户 ID和订阅。
  5. 如果找到订阅,它会更新为最新的详细信息。 …

notifications server-to-server ios firebase in-app-subscription

8
推荐指数
1
解决办法
692
查看次数