我正在开发一款iOS游戏,用户可以通过耗材购买应用程序购买一定数量的内部货币(比如1000金币)。
如果用户想要将余额从一台设备转移到另一台设备,如何恢复耗材购买?
在Apple的文档中,它说我们必须使用自己的服务器。但是如何获得用户的Apple ID?或者可能还有其他一些方法来跟踪消费品的购买情况?
答案 0 :(得分:5)
如果您要做的是分享用户在不同设备上购买的产品;你需要:
将游戏状态保留在服务器中并从设备中获取。
以某种方式识别用户,即用户名/通行证。
每次用户购买/消费/获取产品时更新服务器中的游戏状态
如果您只需要在同一设备上的不同安装中共享状态,则可以使用设备ID来识别用户。
答案 1 :(得分:4)
您需要能够以独立于用于访问游戏的设备的方式存储用户状态。因此,这意味着实现基于服务器的用户配置文件,其具有身份验证(和适当的安全性),或使用某些第三方服务。
请注意,自iOS 4.1起,您就可以使用GameKit,它为您提供了很多这些好处。如果您使用GameKit,那么您将能够从GKPlayer检索用户信息,并使用此信息在您自己的服务器中存储货币金额和其他状态。