【问题标题】:In-App Purchase Auto renewal purchase by Username应用内购买 用户名自动续订购买
【发布时间】:2017-04-28 19:02:49
【问题描述】:

我正在实施应用内购买自动续订。我有几个问题请澄清。 非常感谢您的帮助。

1.user1 使用他的 iTunes 帐户使用 device1 购买一个为期 30 天的计划,而用户 2 使用他的 iTunes 帐户使用设备 2 购买另一个为期 60 天的计划,如果 user1 登录到 device2 但 device2 会发生什么情况仍然有用户 2 iTunes 帐户。如果我在设备 2 中恢复购买或收据验证,我将获得用户 2 购买,因为自动续订将与 iTunes 帐户一起使用。

我们如何确保 user1 只获得 30 天计划而不是 60 天计划。

提前致谢

【问题讨论】:

  • 请澄清“如果 user1 登录到 device2 但 device2 仍然有 user2 iTunes 帐户会发生什么。”用户 1 是否输入了设备的密码但没有退出用户 2 的 iTunes 帐户?您的应用是否有用户登录时使用的基于服务器的单独用户名?
  • 是的,我的应用已登录

标签: ios in-app-purchase in-app


【解决方案1】:

您可以在购买和恢复请求中传递您用户的登录名,以允许 Apple 改进欺诈检测,但这实际上不会阻止购买或恢复(无论是欺诈性的还是不是您想要的)。

(因此事后看来不是答案,而是将其留在这里以供参考 - 请参阅 cmets。)

例如restoreCompletedTransactions(withApplicationUsername:)

更多详情请见this SO answer。

还有this Apple Developer forum conversation,为什么它实际上不会阻止“错误”用户购买/恢复。

【讨论】:

  • 谢谢 Ali Beadle,您的回答。请在 abpve 链接中检查 Chris Prince cmets 考虑以下情况。假设 Apple ID X 和 Apple ID Y 都用于在您的应用程序中进行购买。然后为 Apple ID X 和 Y 创建具有相同 applicationUsername 的 SKMutablePayments(称为 applicationUsername,U),然后使用 U 调用 restoreCompletedTransactionsWithApplicationUsername。这将检索使用 Apple ID X 和 Y 进行的购买?
  • 我明白了 - 是的,你是对的,这是为了防止 Apple 欺诈,即使用户名不匹配,它仍然会返回所有交易。我接受这不是您问题的答案,但会对其进行编辑以澄清并留作参考。
猜你喜欢
  • 2017-10-29
  • 1970-01-01
  • 2011-10-31
  • 2018-06-01
  • 2016-01-25
  • 2016-10-23
  • 1970-01-01
  • 2011-06-29
  • 2018-02-17
相关资源
最近更新 更多