我们目前正在为 Google 实现自动续订订阅(我们从 Apple 的非续订开始,并在服务器端实现了重复数据删除和验证流程),现在的主要问题是以下情况:
- 用户在 Google Play 中拥有 Google 帐户 A 并在应用程序中拥有 内部帐户 A
- 用户购买了自动续订订阅。 (它现在绑定(bind)到内部帐户 A)
- 他从内部 A 注销并登录到内部 B
所以问题是内部 B 的预期状态应该是什么?基本上,游戏市场(因此是 Google BillingClient)将有关于订阅的信息,因为它与 Google 帐户相关联,但我们预计订阅仅对 1 个内部帐户有效(无论如何都会因为重复数据删除过程)。但是在这种情况下,用户有一个奇怪的情况,即之前已经购买了订阅(当他使用帐户 A 登录时),但没有生效,因此他无法为内部帐户 B.
我试图在以下链接下找到答案,但看起来他们对此类情况并没有很好的描述:https://developer.android.com/google/play/billing/billing_subscriptions
在我看来,我们应该为这种情况提供一些用户体验,比如:“看起来你已经订阅了,但你的帐户有误”。但是,如果有人能回答 Google/Apple 审核团队在这种情况下的期望这个问题,我们将不胜感激。
最佳答案
如果您查看其他大型订阅应用程序,例如 Netflix 或 Spotify,您可以了解他们如何管理这一点的一些 UI 想法。如果内部帐户 A 在 iOS 上订阅,然后在 Android 上登录,您可以在 UI 中显示该订阅是通过 iTunes 计费和管理的。
在您描述的情况下,如果内部帐户 B 登录,则预期的 UI 将处于“未订阅”状态。有几个边缘案例需要考虑:
如果内部帐户 B 尝试从以下设备购买订阅 已经购买了,会报错订阅已经 活跃。
确保内部账户 B 无法恢复购买 内部账户 A 购买的收据。
在 RevenueCat ,我们将收据文件和原始交易 ID 存储在进行原始购买的用户记录中,这样我们就可以检测是否有不同的用户试图恢复相同的购买(通过原始交易 Id)。
就政策而言。唯一的官方政策是用户需要一种方法来恢复以前购买的订阅。如果他们可以通过简单地登录到内部帐户 来进行恢复,那就足够了。你想如何处理“应用商店帐户共享”的情况取决于你。与移动订阅的大多数事情一样,这是一个权衡 development complexity与风险。
关于android - 将 google play/apple store 自动续订订阅与内部帐户同步的预期行为是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55172056/