mar*_*cus 7 iphone storekit in-app-purchase ios
当应用程序处于后台并且用户尚未登录到商店时,我在应用程序购买(沙箱环境)中取消用户时出现了一些奇怪的行为:
过程如下:
[[SKPaymentQueue defaultQueue] addPayment:payment];- (void)paymentQueue:(SKPaymentQueue *)queue updatedTransactions:(NSArray *)transactions,但不会.TX仍处于国家采购阶段.如果testuser已经登录到商店,则此过程不同.在这种情况下,上述过程按预期工作.
另一句话:经过上述步骤,我实际上购买了另一个应用程序内项目(包括登录到appstore).在此之后,我将应用程序发送到后台并重新激活它,它将处理缺少的取消事务.
结论: 当应用程序处于后台并且未登录到商店时,用户取消付款tx会导致storekit回调延迟交付.在用户实际登录到appstore之后完成交付,并且通过重新激活应用程序来触发PaymentQueue进程.
这种行为似乎是错误的,如果在实际环境中实际上是这样,我可能会认为这是一个Storekit错误.是否有人经历过相同的行为或者可以指出某些事情以防止tx在购买状态中"悬挂"?
谢谢,马库斯
我不相信您可以信赖 Store Kit 的任何东西。按下“购买”按钮后,不要“期待地等待”交易排队,而是继续做你的事情。当您收到有交易的通知(可能是明天)时,请对其进行处理。我相信文档中对此有评论——您的应用程序应该在启动时注册 SK 通知,并且应该随时收到它们。因此,当涉及到 Store Kit 时,不要在您的应用程序中建立任何“状态”意识。只需在交易到达时进行处理即可。
| 归档时间: |
|
| 查看次数: |
1460 次 |
| 最近记录: |