android - 将 google play/apple store 自动续订订阅与内部帐户同步的预期行为是什么?

标签 android ios google-play in-app-subscription

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

  1. 用户在 Google Play 中拥有 Google 帐户 A 并在应用程序中拥有 内部帐户 A
  2. 用户购买了自动续订订阅。 (它现在绑定(bind)到内部帐户 A)
  3. 他从内部 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 将处于“未订阅”状态。有几个边缘案例需要考虑:

  1. 如果内部帐户 B 尝试从以下设备购买订阅 已经购买了,会报错订阅已经 活跃。

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

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

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

关于android - 将 google play/apple store 自动续订订阅与内部帐户同步的预期行为是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55172056/

相关文章:

android - 无法通过 wifi 连接连接到套接字

Android命令行图片

ios - 如何从 iOS 中的 facebook 获取用户签到/发布位置流程?

android - 当我已经手动安装旧版本的 apk 时,Google Play 不显示 "Update"功能

android - google play 应用程序上传失败

android - 无法在调试中观看 RealmObjects (Android Studio)

java - 根据从 Fragment A 收集的数据使用较少的样板代码从 Activity 启动 Fragment B

ios - AVAudioPlayer 仅在 iOS 模拟器上失败

iphone - 使用其 'id' 阻止 UIWebView 加载特定图像

android - 基于相同代码但不同包名称发布 2 个应用程序