应用程序应该如何应对延迟的SKPaymentTransaction?

Sal*_*nS7 13 storekit in-app-purchase ios

我在我的应用程序中进行了应用程序内购买,iOS 8中的新增内容是"延期"交易,部分在技术说明中描述

我理解它的作用,我需要不阻止UI,并更新我的UI以反映事务状态是延迟的.但是,我应该在-(void)transactionDeferred:(SKPaymentTransaction *)transaction暂时忽略交易的方法中放置什么呢?

我只更新了用户界面吗?UI的内容应该是什么?我是否需要用"您的购买延期"等替换价格标签?我认为没有办法测试这个,至少我没有看到任何与我的沙箱测试帐户有关的事情.如果有办法完成整个过程,看看它是如何工作的,那对我来说会更有意义.

Bor*_* Y. 22

我在做的是:

  1. 停止指标动画
  2. 激活购买恢复按钮
  3. 显示提醒:

等待批准
谢谢!当您的购买正在等待父母的批准时,您可以继续使用Altershot.

我观看了WWDC 14视频.Apple说你不应该阻止用户界面并允许再次点击购买按钮.我认为我们需要这个以防父母错过警报,所以孩子可以发送一个.

我所知道的是我们不应该 为延迟交易调用以下方法:

[[SKPaymentQueue defaultQueue] finishTransaction:transaction];

  • 文档说"你的应用程序应该调用finishTransaction:只有在它成功处理了事务并解锁了用户购买的功能之后." 这表示当状态为SKPaymentTransactionStateDeferred时,您不需要调用finishTransaction. (8认同)