跨帐户恢复购买

Posted

技术标签:

【中文标题】跨帐户恢复购买【英文标题】:Restore purchases across accounts 【发布时间】:2018-01-31 11:49:27 【问题描述】:

我目前正在构建一个 ios 应用程序,其中包括通过 iTunes 自动更新订阅。我还通过 Stripe 为网络用户提供二级订阅服务,任一平台上的订阅都可以为所有平台启用高级功能。

因此,订阅与我的后端数据库中的用户帐户相关联。我并不特别关心他们在什么设备上。

我设想的一个问题是,如果用户在我的服务上创建了第二个帐户,并在应用程序中按下恢复购买,则必须提供根据苹果的订阅。据我所知,不允许显示诸如“您的订阅已在另一个帐户上处于活动状态”之类的错误。

所以我想知道,不是拒绝订阅,而是转移它吗?类似这样的流程:

用户创建帐户aaa@foo.com 用户在aaa@foo.com 上付费订阅 用户注销并创建第二个帐户zzz@foo.com 用户按下“恢复购买” 后端将订阅从aaa@foo.com转移到zzz@foo.com。 用户退出zzz@foo.com 并重新登录aaa@foo.com。第一个帐户不再是“高级”帐户,因为第二个帐户已订阅。

这是一种可接受的方法吗?

【问题讨论】:

【参考方案1】:

好吧,Apple 的指导方针不够清楚,无法知道您的选择是否合适。但我认为这将是一个不错的选择,因为这样您就可以让用户在他们的所有设备上获得订阅,就好像他们使用他们的好帐户一样

3.1.2(a) 允许的用途:如果您提供自动续订订阅,则必须为客户提供持续的价值,并且订阅期必须至少持续 7 天,并且可以在用户的​​所有设备上使用。虽然以下列表并不详尽,但适当订阅的示例包括:新游戏关卡;情节内容;多人支持;提供一致、实质性更新的应用程序;访问大量或不断更新的媒体内容;软件即服务(“SAAS”);和云支持。此外: 订阅可以与点菜服务一起提供(例如,您可以提供对整个电影库的订阅以及单部电影的购买或租借)。 您可以提供在您自己的应用程序和服务之间共享的单一订阅,但这些订阅可能不会扩展到第三方应用程序或服务。游戏订阅中提供的游戏必须由开发者拥有或独家许可(例如,不属于游戏发布平台)。每个游戏都必须直接从 App Store 下载,必须设计为避免订阅者重复付款,并且不应使非订阅者的客户处于不利地位。 订阅必须在应用程序可用的所有用户设备上运行。了解有关在您的应用程序之间共享订阅的更多信息。 应用程序不得强迫用户对应用程序进行评分、评论、下载其他应用程序或其他类似操作,以访问应用程序的功能、内容或使用。 与所有应用程序一样,那些提供订阅的应用程序应该允许用户在不执行其他任务的情况下获得他们所支付的费用,例如在社交媒体上发布、上传联系人、在应用程序中签到一定次数等。 订阅可能包括消耗性积分、宝石、游戏内货币等,并且您可以提供包括折扣消耗品的订阅(例如,以折扣价公开宝石包的白金会员)。 如果您将现有应用程序更改为基于订阅的业务模式,则不应剥夺现有用户已经支付的主要功能。例如,在您为新客户引入订阅模式后,让已经购买“完整游戏解锁”的客户继续访问完整游戏。

Apple Review Guideline

【讨论】:

以上是关于跨帐户恢复购买的主要内容,如果未能解决你的问题,请参考以下文章

用于在 ios 应用中恢复不同帐户的购买

尽管没有登录 iTunes 帐户,iOS 仍会恢复应用内购买

尽管没有iTunes帐户登录,iOS仍会恢复应用内购买

iOS 非消耗性购买是不是与使用帐户或设备绑定?

如何在应用内购买中恢复购买?

如何在应用内购买中恢复购买?