如何恢复在应用程序购买消费品?

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

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

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

如果您想要共享用户在不同设备上购买的产品, 您将需要:

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

  2. 确定用户,即用户名/密码。

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

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

您需要能够以独立于访问您的游戏的设备的方式存储用户状态。 所以这意味着要实现一个基于服务器的用户configuration文件进行身份validation(以及适当的安全性),或者使用一些第三方服

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