恢复应用内购买
Posted
技术标签:
【中文标题】恢复应用内购买【英文标题】:Restoring In-App purchases 【发布时间】:2013-11-12 01:57:06 【问题描述】:我正在创建一个游戏,玩家可以在其中购买非消耗品,有 10 种可供购买,一旦购买,它们就会保持购买状态。这些项目的交易(每个项目的简单布尔值)记录在服务器 (Parse.com) 上。
所以我不确定我需要用我的恢复按钮做什么,因为玩家在什么设备上登录我的游戏并不重要,只要他们使用相同的帐户(与他们的 GameCenter 详细信息相关联)反正游戏会知道他们买了什么物品,所以我的游戏不需要有恢复按钮,但苹果说我需要,那我该怎么办?
【问题讨论】:
【参考方案1】:对于非消耗品,您可能没有“恢复按钮”,但您必须具有恢复功能。我的应用程序没有恢复按钮,但有恢复功能,它也得到了苹果的认可。 但非消耗品最好有恢复功能。而且你必须有恢复功能
以及为什么非消耗品需要恢复?
在我的应用中,当用户购买了我的商品并且我的本地应用有交易时,此时设备可能突然离线。所以他付款成功但购买失败,这种情况应该会恢复。另一种情况,当用户购买我的物品并且我的本地应用程序有交易时,我将交易传递给我的服务器。我的服务器和苹果服务器检查交易,此时我的服务器宕机了,所以他支付成功但购买失败,这种情况也应该恢复了。
【讨论】:
好的,所以基本上是一个恢复按钮,可以检查物品是否已经购买,然后它们是否在服务器上设置了正确的值,这意味着我需要能够检查商品是否已购买。 @Phil 当您收到交易时,您应该保存它,并将其传递给您的服务器,如果您的服务器有“成功”或“不可用”回调,您可以删除交易.或者您应该保存交易以进行恢复。当你点击 restore 时,你应该检查用户是否有保存的交易,如果有,那么将保存的交易传递给你的服务器 @Phil github中大部分iap函数demo都有恢复功能 当用户进行购买时,我会在服务器上记录下来,但就像你说的那样,可能存在它永远不会到达服务器的情况,如果是这种情况,那么我需要检查玩家在苹果购买了什么,然后在服务器上再次设置正确的值,但我不知道如何查看苹果购买了什么。 @Phil Apple 不会让您检查 Apple 购买了哪些非消耗品。当用户付款时,您可以从Apple获得一笔交易,您应该将交易保存在您的本地应用程序中,并在用户购买成功或失败时将其删除(“不可用”)。如果用户要恢复,你应该只检查你保存的交易。如果没有保存的交易,则意味着不需要恢复。如果有保存的交易,你应该只将保存的交易传递给你的服务器以上是关于恢复应用内购买的主要内容,如果未能解决你的问题,请参考以下文章