如何检查用户是否已经购买了应用?

时间:2016-04-05 18:19:07

标签: ios in-app-purchase

我已经制定了代码来制作或恢复购买。我能够购买和恢复。

我的想法是在购买屏幕上放置两个按钮:"购买"和"恢复"。

我想根据购买状态取消/禁用这些按钮。

简单地:

  1. 如果用户尚未购买 - > "购买"启用和"恢复"停用

  2. 如果用户购买alredy - >没有购买屏幕:)

  3. 如果用户购买alredy并重新安装应用程序 - "购买"禁用和"恢复"启用

  4. 我当然使用standardUserDefaults,但用户重新安装应用程序时会出现问题。我的问题是如何从appStore购买购买状态(已购买或尚未购买)?

1 个答案:

答案 0 :(得分:0)

您不应该这样做,因为Apple要求始终有一个恢复按钮,否则您的应用将被拒绝。

根据购买或恢复的内容,您也不应禁用或隐藏按钮。 如果用户按下他已经购买的产品上的购买按钮,他只是再次免费获得该产品,您将永远不会被收取两次费用。

所以我甚至不愿意这么做。它还可以使您的用户体验更加混乱。最好是拥有始终如一的商店体验。此外,用户可能会认为游戏中存在错误,因为他们看到的只是一个无效的按钮。

如果您想向用户表明他已经购买了该物品,可能会在购买按钮旁边放一点滴答。一旦产品被购买,您必须拥有某种bool或其他已设置的属性,并保存在NSUserDefaults中。只需使用该属性添加或删除刻度/指示器。

如果您想知道如何在第一次处理恢复按钮时按下,则应使用恢复完成的委托方法。在那里你基本上可以显示2个UIAlertControllers。 1如果没有恢复,因为之前没有购买任何东西,1恢复成功。检查这个问题我最近回答了样例代码。 Restore Purchase : Non-Consumable

"我们发现您的应用提供了可以恢复的应用内购买,但它不包含"还原"功能允许用户恢复以前购买的应用程序内购买。要恢复以前购买的应用程序内购买产品,提供一个"恢复"按钮并在“恢复”时启动恢复过程。点击按钮"