跨账户恢复购买
Restore purchases across accounts
我目前正在构建一个 iOS 应用程序,其中包括通过 iTunes 自动续订订阅。我还通过 Stripe 为网络用户提供辅助订阅服务,并且在任一平台上订阅都可以为所有平台启用高级功能。
订阅因此与我的后端数据库中的用户帐户相关联。我并不特别关心他们使用的是什么设备。
我设想的一个问题是,如果用户在我的服务上创建了第二个帐户,并在应用程序中按恢复购买,则必须按照苹果的订阅。据我所知,不允许显示 "You're subscription is already active on another account" 等错误。
所以我想知道,我可以不拒绝订阅,而是转移订阅吗?像这样的流程:
- 用户创建了一个帐户
aaa@foo.com
- 用户在
aaa@foo.com
支付订阅费用
- 用户注销并创建第二个帐户
zzz@foo.com
- 用户按下 "restore purchases"
- 后端将订阅从
aaa@foo.com
转移到 zzz@foo.com
。
- 用户退出
zzz@foo.com
并重新登录 aaa@foo.com
。第一个帐户不再是 "premium",因为第二个帐户已订阅。
这是可以接受的方法吗?
嗯,Apple 的指南不够明确,无法判断您的选择是否合适。但我认为这将是一个不错的选择,因为这样您就允许用户在他们的所有设备上获得订阅,就像他们使用他们的好帐户一样
3.1.2(a) Permissible uses: If you offer an auto-renewing subscription, you must provide ongoing value to the customer, and the subscription period must last at least seven days and be available across all of the user’s devices. While the following list is not exhaustive, examples of appropriate subscriptions include: new game levels; episodic content; multi-player support; apps that offer consistent, substantive updates; access to large collections of, or continually updated, media content; software as a service (“SAAS”); and cloud support. In addition:
Subscriptions may be offered alongside a la carte offerings (e.g. you may offer a subscription to an entire library of films as well the purchase or rental of a single movie).
You may offer a single subscription that is shared across your own apps and services, but these subscriptions may not extend to third party apps or services. Games offered in a game subscription must be owned or exclusively licensed by the developer (e.g. not part of a game publishing platform). Each game must be downloaded directly from the App Store, must be designed to avoid duplicate payment by a subscriber, and should not disadvantage non-subscriber customers.
Subscriptions must work on all of the user’s devices where the app is available. Learn more about sharing a subscription across your apps.
Apps must not force users to rate the app, review the app, download other apps, or other similar actions in order to access functionality, content, or use of the app.
As with all apps, those offering subscriptions should allow a user to get what they’ve paid for without performing additional tasks, such as posting on social media, uploading contacts, checking in to the app a certain number of times, etc.
Subscriptions may include consumable credits, gems, in-game currencies, etc., and you may offer subscriptions that include access to discounted consumable goods (e.g. a platinum membership that exposes gem-packs for a reduced price).
If you are changing your existing app to a subscription-based business model, you should not take away the primary functionality existing users have already paid for. For example, let customers who have already purchased a “full game unlock” continue to access the full game after you introduce a subscription model for new customers.
我目前正在构建一个 iOS 应用程序,其中包括通过 iTunes 自动续订订阅。我还通过 Stripe 为网络用户提供辅助订阅服务,并且在任一平台上订阅都可以为所有平台启用高级功能。
订阅因此与我的后端数据库中的用户帐户相关联。我并不特别关心他们使用的是什么设备。
我设想的一个问题是,如果用户在我的服务上创建了第二个帐户,并在应用程序中按恢复购买,则必须按照苹果的订阅。据我所知,不允许显示 "You're subscription is already active on another account" 等错误。
所以我想知道,我可以不拒绝订阅,而是转移订阅吗?像这样的流程:
- 用户创建了一个帐户
aaa@foo.com
- 用户在
aaa@foo.com
支付订阅费用
- 用户注销并创建第二个帐户
zzz@foo.com
- 用户按下 "restore purchases"
- 后端将订阅从
aaa@foo.com
转移到zzz@foo.com
。 - 用户退出
zzz@foo.com
并重新登录aaa@foo.com
。第一个帐户不再是 "premium",因为第二个帐户已订阅。
这是可以接受的方法吗?
嗯,Apple 的指南不够明确,无法判断您的选择是否合适。但我认为这将是一个不错的选择,因为这样您就允许用户在他们的所有设备上获得订阅,就像他们使用他们的好帐户一样
3.1.2(a) Permissible uses: If you offer an auto-renewing subscription, you must provide ongoing value to the customer, and the subscription period must last at least seven days and be available across all of the user’s devices. While the following list is not exhaustive, examples of appropriate subscriptions include: new game levels; episodic content; multi-player support; apps that offer consistent, substantive updates; access to large collections of, or continually updated, media content; software as a service (“SAAS”); and cloud support. In addition: Subscriptions may be offered alongside a la carte offerings (e.g. you may offer a subscription to an entire library of films as well the purchase or rental of a single movie). You may offer a single subscription that is shared across your own apps and services, but these subscriptions may not extend to third party apps or services. Games offered in a game subscription must be owned or exclusively licensed by the developer (e.g. not part of a game publishing platform). Each game must be downloaded directly from the App Store, must be designed to avoid duplicate payment by a subscriber, and should not disadvantage non-subscriber customers. Subscriptions must work on all of the user’s devices where the app is available. Learn more about sharing a subscription across your apps. Apps must not force users to rate the app, review the app, download other apps, or other similar actions in order to access functionality, content, or use of the app. As with all apps, those offering subscriptions should allow a user to get what they’ve paid for without performing additional tasks, such as posting on social media, uploading contacts, checking in to the app a certain number of times, etc. Subscriptions may include consumable credits, gems, in-game currencies, etc., and you may offer subscriptions that include access to discounted consumable goods (e.g. a platinum membership that exposes gem-packs for a reduced price). If you are changing your existing app to a subscription-based business model, you should not take away the primary functionality existing users have already paid for. For example, let customers who have already purchased a “full game unlock” continue to access the full game after you introduce a subscription model for new customers.