2013-01-11 80 views
5

我创建iOS上的服务器驱动的游戏,让玩家创造多设备玩游戏的帐户。我的游戏有应用内购买(IAP),它们是非消耗性的,可以由原始购买者恢复或重新下载。的iOS漏洞利用:恢复应用内购买到多个游戏帐号

我宁愿球员不能恢复他们的IAP多个游戏账号。苹果的规则有可能吗?

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

  • PLAYER1购买所有的IAP对他的游戏帐号和iTunes账户
  • PLAYER1登录Player2的英雄学院游戏账号
  • PLAYER1重新下载的非消耗IAP到Player2的游戏账号,给Player2权限给所有的IAP
  • Player2的登录到自己的游戏帐号自己的设备上,现在有权限的所有IAP

结果是:Player2已经得到了所有我的AP免费。

我可以在他们的iTunes帐户中读取并将iTunes恢复购买限制为单个游戏帐户。实施该解决方案似乎违背了Apple恢复非易损IAP的指导方针。

我可能会考虑购买消费品,并且只适用于单一帐户,但似乎不符合Apple的指导方针,并且会成为最终用户设计不佳的问题。

+0

你是否找到了解决办法? – GameDevGuru

+0

我建议你直接联系Apple。 – Timtech

+1

如何使用IOS 7.0+可用的“applicationUsername”字段? – Lexicon

回答

0

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

通过保留自己的英雄学院ID,我认为你应该将其与特定的AppleID同步。这就是说,在你的漏洞利用的第2步中,Player2需要将他的AppleID和密码都提供给Player1。许多人不愿意这样做。有些是,但是,并防止这种情况,我认为你必须使其核对过NSUbiquitousKeyValueStore权限您的游戏编程。换句话说,您必须在您使用Apple ID时积极与您的AppleID进行特殊购买。

您的游戏永远不会看到实际的AppleID,但它可以通过Hero Academy播放的ID将您在其中放置的一个iCloud存储与另一个iCloud存储区分开。

我试图做的,我现在开发一个应用程序类似的原因类似。我没有足够的测试来确定上述方法是否有效,但到目前为止它似乎很有前景。

1

一个简单的解决方案是使用软消耗的IAP,用户花费在游戏中购买非消耗品。

I.e.我以5美元的价格购买100件魔法币的易耗品IAP捆绑包,以购买花费50件魔术币的魔法物品。

+1

事实上,任何可敬的僵尸或龙场都是基于'游戏'经济。 – Jef

相关问题