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

Posted

技术标签:

【中文标题】用于在 ios 应用中恢复不同帐户的购买【英文标题】:Restore used to restore purchases for different accounts in ios app 【发布时间】:2014-04-06 15:53:01 【问题描述】:

我已经在我们的应用程序中实现了恢复按钮,但它给我们带来了一个问题,如果会员从我们的应用程序创建帐户 A 并通过应用程序商店付款。然后,如果他在我们的应用程序中创建另一个会员并通过点击恢复按钮并仅使用一个苹果应用程序 ID 以这种方式输入他的应用程序 ID 来恢复购买,他可以通过为一个单一会员购买一次来拥有多个白金会员,并且为不同的成员多次恢复。

这是针对即将推出的网站和应用程序,我为任何注册的人提供免费/基本计划,然后是可升级的一次性/终身白金计划。 现在在我的 ios 应用程序中,我在解决中心收到了来自 Apple 的消息“要恢复以前购买的应用内购买产品,提供一个“恢复”按钮并在“恢复”按钮时启动恢复过程是合适的被用户点击。”

现在,如果会员从一台设备升级并从另一台 ios 设备登录,他将不是基本会员,因为根据我们的数据库,他已经是白金会员,因此不会看到购买/升级到白金的场景在我们的应用程序中。

基本上我可以通过删除“恢复”按钮来避免拒绝。 上述情况我的解决方案是什么

我选择了非消耗品购买

【问题讨论】:

【参考方案1】:

白金会员是否与您服务器的特定登录相关联?如果是这样,那么在您的服务器上,当您处理应用内购买收据并将其与用户帐户相关联时,您会记录收据 ID。每次处理收据时,您都会检查其他用户是否已经先申领了该购买,如果是重复的,请不要兑现。重放攻击是一种非常经典的策略,如果购买与用户登录相关,则很容易被击败......

【讨论】:

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

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

跨帐户恢复购买

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

应用购买中的 iOS 非续订是不是需要恢复购买按钮? [复制]

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

iOS 应用内购买不适用于 TestFlight 中的非沙盒帐户