首页 > 解决方案 > 将 google play/apple store 自动续订订阅与内部帐户同步的预期行为是什么?

问题描述

我们目前正在为 Google 实施自动续订订阅(我们从 Apple 的非续订开始,并在服务器端实施了重复数据删除和验证流程),目前的主要问题是以下情况:

  1. 用户在 Google Play 中拥有Google 帐户 A ,在应用程序中拥有内部帐户 A
  2. 用户购买自动续订订阅。(它现在绑定到内部帐户 A
  3. 他从内部 A退出并登录到内部 B

所以问题是Internal B的预期状态应该是什么?基本上,游戏市场(因此是 Google BillingClient)将拥有有关订阅的信息,因为它与 Google 帐户相关联,但我们预计订阅仅对 1 个内部帐户有效(无论如何这将是因为重复数据删除过程)。但是在这种情况下,用户会遇到一种奇怪的情况,即之前已经购买了订阅(当他使用帐户 A 登录时),但没有生效,因此他无法为内部帐户 B购买。

我试图在以下链接下找到答案,但看起来他们对这种情况并没有很好的描述:https ://developer.android.com/google/play/billing/billing_subscriptions

在我看来,我们应该为这种情况提供一些用户体验,例如:“看起来你已经订阅了,但你的帐户有误”。但是,如果有人能回答这个关于谷歌/苹果审查团队在这种情况下的期望的问题,我将不胜感激。

标签: androidiosgoogle-playin-app-subscription

解决方案


如果您查看其他大型订阅应用程序,例如 Netflix 或 Spotify,您可以了解他们如何管理这些应用程序的一些 UI 想法。如果内部帐户 A在 iOS 上订阅,然后在 Android 上登录,您可以在 UI 中显示订阅是通过 iTunes 计费和管理的。

在您描述的情况下,如果内部帐户 B登录,则预期的 UI 将处于“未订阅”状态。有几个边缘情况需要考虑:

  1. 如果内部帐户 B尝试从已购买的设备购买订阅,则会出现订阅已处于活动状态的错误。

  2. 确保内部帐户 B无法恢复对内部帐户 A购买的收据的购买。

RevenueCat,我们将收据文件和原始交易 ID 存储在进行原始购买的用户记录中,这样我们就可以检测其他用户是否正在尝试恢复相同的购买(通过原始交易 ID)。

就政策而言。唯一的官方政策是用户需要一种方法来恢复以前购买的订阅。如果他们可以通过简单地登录Internal Account来进行恢复,那么这就足够了。您想如何处理“应用商店帐户共享”的情况取决于您。与移动订阅的大多数事情一样,这是开发复杂性与风险的权衡。


推荐阅读