gpt4 book ai didi

ios - 应用如何将帐户与应用内购买订阅绑定(bind)?

转载 作者:行者123 更新时间:2023-11-28 23:52:52 24 4
gpt4 key购买 nike

我正在开发一个 iOS 应用程序,用户必须在其中注册/登录我的应用程序的帐户。为了能够使用我的服务,我希望用户通过应用内购买付费(在我的例子中是自动续订)。然后,这会将他们的 IAP 绑定(bind)到他们的帐户(他们与我们一起创建),以便能够在任何其他 iOS 设备上使用。

案例 1:例如,如果订阅是在电话 A 上为帐户购买的,则在登录电话 B 时(使用同一帐户)不应让用户再次付款。

案例 2:或者,如果订阅是在手机上为账户 A 购买的,则在同一部手机上注册账户 B 时应该让用户为账户 B 付费。

基本上,我希望应用内购买绑定(bind)到我的帐户(而不是苹果设备/Apple 帐户,这是我理解的工作方式。)

我知道他们是收据,这可能是我问题答案的一部分。或者,如果这是对应用内购买的限制,还有什么其他方法可以做到这一点(除了使用 Apple 的 IAP)

最佳答案

问题标题的答案:

购买完成后,应用程序会收到更新,下次启动时包含 transaction_id(用于续订的 original_transaction_id),您应该将此交易 ID 与您的应用程序用户 ID 相关联。

情况 1:Apple 在您的应用中提供了“恢复购买”选项。由于使用了相同的帐户,您的应用程序服务器已经知道用户已经付款并且应用程序不应提示用户再次付款。但是,为了在手机 B 上接收即将到来的续订更新,您必须“恢复购买”,这样 Apple 也可以在该设备上链接之前的购买。恢复完成后,用户购买收据将在设备上可用,所有后续操作都应根据收据的内容验证进行。

这里有几点:

  1. 如果您的应用不向用户提供此选项,Apple 将拒绝您的应用。
  2. 即使您的应用存在问题,并且您未能恢复购买,也不会再次向用户收费。购买将失败,表明您已经购买了此产品。

以上案例完全基于用户在两台设备上使用相同的 Apple Id 的假设(相同的应用程序用户 ID 无关紧要)。

情况 2:我不确定这是否可能。由于是同一台设备,用户使用相同的AppleId(除非他退出并在App Store中更改apple id)并且Apple会限制 repo 。您最多可以限制帐户 B 的订阅内容,但如果您的应用程序允许在同一设备用例(例如 Instagram)上使用多个帐户,我不确定是否有相同的规定。

我对我使用的音乐服务应用程序测试了相同的场景。拥有有效的订阅,注销并使用其他电子邮件(应用程序)注册,但购买被拒绝,提醒我已经购买。然而,它允许我升级和降级选项。我没有选择测试它们,以免弄乱我的帐户。

Here's the screenshot

P.S:还有很多其他警告/陷阱需要注意。其中一些:

  1. 在情况 2 中,苹果会限制重新购买,但如果用户选择当前有效订阅以外的选项(这将升级/降级订阅),则不会受到限制。根据您的实现方式,它甚至可能会立即更改用户 A 的订阅,或在用户下次重新登录时或此后下次续订时更改。
  2. 在此处讨论的两种情况下,用户都使用相同的 Apple ID,但请考虑以下情况 - 相同的 Apple ID 不同的应用程序 ID 以及不同的 Apple ID 和相同的应用程序 ID。 ( See this )
  3. 对于情况 2,您应始终刷新收据或恢复购买(如果没有可用收据)以便新用户登录。收据中有一个原始交易 ID,您应该在用户 A 第一次购买时链接该 ID。根据收据,您可以选择允许用户 B 访问内容或限制。但是,您不能让用户为新帐户付费(我想是这样)。

有用的链接:

Restoring Purchases

Receipt Validation

关于ios - 应用如何将帐户与应用内购买订阅绑定(bind)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51713044/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com