iOS漏洞:将应用内购买恢复到多个游戏帐户

iOS漏洞:将应用内购买恢复到多个游戏帐户,ios,in-app-purchase,Ios,In App Purchase,我正在iOS上创建一个服务器驱动的游戏,允许玩家为多设备游戏创建一个游戏帐户。我的游戏有非消费性的应用内购买(IAP),可由原购买者恢复或重新下载 我希望玩家不能将他们的IAP恢复到多个游戏帐户。考虑到苹果的规则,这可能吗 以英雄学院为例,这是可能的 Player1通过其游戏帐户和iTunes帐户购买所有IAP Player1登录Player2的英雄学院游戏帐户 Player1将非消耗品IAP重新下载到Player2的游戏帐户中,授予Player2对所有IAP的权限 Player2在自己的设备

我正在iOS上创建一个服务器驱动的游戏,允许玩家为多设备游戏创建一个游戏帐户。我的游戏有非消费性的应用内购买(IAP),可由原购买者恢复或重新下载

我希望玩家不能将他们的IAP恢复到多个游戏帐户。考虑到苹果的规则,这可能吗

以英雄学院为例,这是可能的

  • Player1通过其游戏帐户和iTunes帐户购买所有IAP
  • Player1登录Player2的英雄学院游戏帐户
  • Player1将非消耗品IAP重新下载到Player2的游戏帐户中,授予Player2对所有IAP的权限
  • Player2在自己的设备上登录他的游戏帐户,现在拥有所有IAP的权限
结果是:Player2免费获得了所有IAP

我可能能够在他们的iTunes帐户中读取内容,并将iTunes恢复购买限制为单个游戏帐户。实施该解决方案似乎违反了苹果关于恢复非消耗性IAP的指导方针


我可以考虑购买耗材,只适用于一个账户,但这似乎与苹果的指导方针相悖,最终用户设计很差。

< P>我怀疑答案可能在于使用NSubIdEuthKEY Valuestor之类的东西。这确实需要用户使用iCloud,但我认为大多数用户都需要。如果我理解正确,这是一个基于iCloud的键值存储,因此将与一个特定的AppleID关联

通过将您自己的英雄学院ID保存在那里,我认为您实际上可以将其与特定的AppleID同步。这将是在您的攻击的第2步中,Player2需要向Player1提供他的AppleID和密码。许多人不愿意这样做。然而,有些是这样,为了防止这种情况发生,我认为你必须对你的游戏进行编程,这样它就可以根据NSUbiquitousKeyValueStore检查权限。换句话说,您必须在使用AppleID时将特殊购买与AppleID积极关联

您的游戏永远不会真正看到实际的AppleID,但它将能够通过您放置在其中的英雄学院播放ID来区分一个iCloud商店和另一个iCloud商店


出于相似的原因,我正在开发一款应用程序,尝试做一些类似的事情。我还没有进行足够的测试来确定上述方法是否有效,但到目前为止,它似乎很有希望。

解决这一问题的简单方法是使用软货币的可消费IAP,用户在游戏中购买非可消费物品


也就是说,我花5美元购买了一个100枚魔法硬币的可消费IAP捆绑包,以购买50枚魔法硬币的魔法豆物品。

你找到解决方案了吗?我建议你直接与苹果联系。使用IOS 7.0+上提供的“applicationUsername”字段如何?我投票结束这个问题,因为这是一个离题的问题。事实上,任何值得尊敬的僵尸或龙农场都是以“gamebucks”为基础的经济。