iOS应用内购买:在点击App Store的“购买”确认按钮之后但在用户收费之前执行代码

时间:2014-11-17 21:13:45

标签: ios in-app-purchase

我的应用有很多人购买有限数量的耗材。我想抓住用户使用App Store的确认对话框和“购买”按钮确认购买的那一刻,以便我可以打电话给服务器以确保用户可以收到他们的货物并自己取消交易(以避免用户收费)如果不存在(即它们太慢)。

我希望在用户表示希望购买之后不为用户保存消耗品而仅在取消时将其释放回消耗品池中。拦截他们承诺购买和检测是否仍然存在任何消耗品的时刻对于购买的整体竞争力非常重要(为用户保存消费品将允许用户无限期地坐在交易的确认对话屏幕上)。

有没有人知道任何可以执行这种独特任务的编码策略?我试图使用NSDefaultObserver但没有太多运气。

2 个答案:

答案 0 :(得分:1)

不幸的是,没有任何API可以告诉您何时发生这种情况。 IAP系统对流程本身相当不透明,开发人员只有在购买成功,失败或其他情况下才能真正获得状态更新"完成" (推迟等)。

我知道这不是你想要的新闻,但我担心这是真的。不过,你考虑过这些事情真是太棒了!如果我是你,我会在他们点击你的应用程序中的购买按钮后立即执行检查 - 根据我的经验,人们倾向于在决定购买商品后相对快速地输入凭证。

答案 1 :(得分:1)

Undo's answer是对的,但我也想指出你可以像许多游戏一样实施“货币”系统,用户可以使用IAP购买大量“硬币”或“信用”对于真钱,然后这些积分可用于购买这些有限的消耗品使用完全自定义和可配置的系统。