Uda*_*ega 6 objective-c storekit in-app-purchase ios
我正在将应用内购买添加到我的应用中。对此我有些怀疑。
怎么处理SKPaymentTransactionStateDeferred?我们需要在这种状态下实现自己还是 Apple 会处理这个问题?
如果要实现方式这里怎么处理?如何使用沙盒测试员帐户进行测试?有谁清楚的告诉我。提前致谢。
根据 Apple StoreKit 文档,延迟状态是:
交易在队列中,但其最终状态是等待外部操作,例如购买请求。更新您的 UI 以显示延迟状态,并等待另一个指示最终状态的回调。
我们得到交易延期状态,如果用户是苹果家庭共享和家庭管理员启用ASK TO BUY 的一部分。
当子用户尝试购买应用内产品时,会向父用户发送请求以供批准。在“购买前询问”流程开始后,家长用户有 24 小时的时间来批准或取消孩子的购买。如果家长未能在 24 小时内做出回应,则“购买前询问”请求将从 iTunes Store 服务器中删除,并且您的应用程序的观察者不会收到任何通知。
您应该更新您的 UI 以反映这种延迟状态。避免在等待交易更新时阻塞您的 UI 或游戏玩法。
在沙盒环境中,我们可以使用 SKMutablePayment 测试延迟状态,例如:-
let product = SKMutablePayment(product: productDetails)
product.simulatesAskToBuyInSandbox = true //Enable to test deferred state.
SKPaymentQueue.defaultQueue().addPayment(product)
Run Code Online (Sandbox Code Playgroud)
信息:
iOS 8 引入了“购买前询问”,允许家长批准孩子发起的任何购买,包括 App Store 上的应用或应用内购买。当孩子请求购买时,Ask to Buy 将通过发送 Deferred 状态来指示应用程序正在等待父母对此购买的批准。
| 归档时间: |
|
| 查看次数: |
1922 次 |
| 最近记录: |