如何恢复耗材应用内购买?

时间:2011-07-04 09:20:46

标签: iphone ios in-app-purchase

我正在开发一款iOS游戏,用户可以通过耗材购买应用程序购买一定数量的内部货币(比如1000金币)。

如果用户想要将余额从一台设备转移到另一台设备,如何恢复耗材购买?

在Apple的文档中,它说我们必须使用自己的服务器。但是如何获得用户的Apple ID?或者可能还有其他一些方法来跟踪消费品的购买情况?

2 个答案:

答案 0 :(得分:5)

如果您要做的是分享用户在不同设备上购买的产品;你需要:

  1. 将游戏状态保留在服务器中并从设备中获取。

  2. 以某种方式识别用户,即用户名/通行证。

  3. 每次用户购买/消费/获取产品时更新服务器中的游戏状态

  4. 如果您只需要在同一设备上的不同安装中共享状态,则可以使用设备ID来识别用户。

答案 1 :(得分:4)

您需要能够以独立于用于访问游戏的设备的方式存储用户状态。因此,这意味着实现基于服务器的用户配置文件,其具有身份验证(和适当的安全性),或使用某些第三方服务。

请注意,自iOS 4.1起,您就可以使用GameKit,它为您提供了很多这些好处。如果您使用GameKit,那么您将能够从GKPlayer检索用户信息,并使用此信息在您自己的服务器中存储货币金额和其他状态。