android - 当设备上的本地(Apple/Google)帐户相同但应用程序帐户不同时恢复应用内购买
问题描述
您有一个需要用户登录的移动应用程序 (Android/iOS)。该移动应用程序提供应用内购买。用户在 * 在设备(Google 帐户/iTunes 帐户)上以 X 身份登录 * 在移动应用程序上以 Y 身份登录时进行应用内购买。
然后,用户 * 卸载应用 * 重新安装 * 在移动应用上以 Z 身份登录 * 恢复购买。
应用商店(Apple/Google)希望我们做什么?
即使购买是由应用程序用户 Y 进行的,因为本机用户是 X,我们是否必须恢复 Z 应用程序用户的购买?
我们阅读了政策,但无法确定。
你能帮我吗?
解决方案
如果您有自己的基于帐户的系统,如果可以通过登录到他们(您的)帐户来恢复购买,则无需从设备收据中恢复购买。苹果在他们的文档中含糊地提到了这一点,服务提供商也是如此。
来自Apple(他们的示例是 iOS/macOS,但也可能是 iOS/Android):
您可以让订阅了 iOS 应用程序的用户从 macOS 应用程序访问内容(反之亦然),但实现该功能是您的责任。您需要一个系统来识别用户并跟踪他们订阅的内容,类似于您为使用不可更新订阅的应用程序实施的系统。
从收入猫:
使用外部管理的 App User ID 还提供了一种机制,可以在以下几种情况下恢复购买:
...
- 当用户在多台设备上登录时 - 您可以兑现在任何其他平台上的一台设备上购买的订阅。
您会注意到像 Netflix 这样的大型跨平台订阅应用程序在任何地方都没有恢复购买按钮。正如您所指出的,恢复购买可以允许在同一设备上登录的多个用户共享单个购买收据。
免责声明:我在 RevenueCat 工作
推荐阅读
- reactjs - 如何在 React 中使用在 Google Cloud Run Dashboard 上声明的 ENV 变量
- assembly - 使用气体在 x86 中导入常量
- lua - Roblox Studio:铰链旋转而不是门
- javascript - 显示错误,数据验证规则的项目数超过了 500 的限制。请改用范围条件中的列表
- xslt - XSLT 递归添加元素
- java - 将字符串与列表中的值进行比较
- git - git pull`TaskEndedException 遇到`错误
- scala - Spark 在 AnalysisException 中获取异常
- git - 在大型机 zdnt 从节点上使用 https 进行 Git 克隆
- swift - 在 iOS 14 的 WidgetView 扩展中解析 RSS XML