如何恢复消耗品应用内购买?
Posted
技术标签:
【中文标题】如何恢复消耗品应用内购买?【英文标题】:How to restore a Consumable In app Purchases? 【发布时间】:2011-07-04 09:20:46 【问题描述】:我正在开发一款 ios 游戏,用户可以在其中通过 Consumable In App Purchase 购买一定数量的内部货币(比如 1000 金币)。
如果用户想将余额从一台设备转移到另一台设备,如何恢复消耗品购买?
在 Apple 的文档中,它说我们必须使用自己的服务器。但是如何获取用户的 Apple ID?或者是否有其他方法可以跟踪消耗品购买情况?
【问题讨论】:
我认为您必须将用户的全部数据存储在您自己的服务器上。考虑一种可能性,用户可以将其数据上传到您的服务器并将其同步到另一台设备。您不必使用 Apple ID,只需创建您自己的用户唯一 ID,并向他展示如何同步他的数据。 【参考方案1】:如果您想做的是在不同设备上共享用户购买的产品;你需要:
将游戏状态保存在服务器并从设备获取。
以某种方式识别用户,即用户名/密码。
每次用户购买/消费/获得产品时,更新服务器中的游戏状态
如果您只需要在同一设备上的不同安装之间共享状态,您可以只使用设备 ID 来识别用户。
【讨论】:
我有一个应用,用户购买金币,他们用金币购买了一些主题,恢复购买消耗品的最佳方法是什么? 在这种情况下,开发者是否会被强制执行此恢复功能,以免被应用商店拒绝?【参考方案2】:您需要能够以独立于他们用于访问您的游戏的设备的方式存储用户状态。因此,这意味着使用身份验证(和适当的安全性)实现基于服务器的用户配置文件,或使用某些第三方服务。
请注意,从 iOS 4.1 开始,您可以使用 GameKit,它为您提供了很多这些好处。如果您使用 GameKit,那么您将能够从 GKPlayer 检索用户信息,并使用此信息将货币金额和其他状态存储在您自己的服务器中。
【讨论】:
以上是关于如何恢复消耗品应用内购买?的主要内容,如果未能解决你的问题,请参考以下文章