我正在构建一个应该通过应用内购买处理订阅的 iPhone 应用。当我在我的应用程序中从 Apple 取回收据时,我想将收据保存在我自己的服务器和我的服务器上,我还想通过 Apple 服务器验证收据。建立与我的服务器的连接非常重要,因为这样可以保存以后需要的用户信息。
在我的 SKPaymentTransactionObserver 中,我现在尝试在 SKPaymentTransactionStatePurchased 上调用我的服务器。问题是在 SKPaymentTransactionStatePurchased 上似乎有一个标准警报说“谢谢”并且购买已完成。由于应用程序需要一些时间来联系我的服务器,所以在完成对我的服务器的调用之前会显示此标准警报,如果用户在此处退出应用程序会发生什么,他认为购买完成了?我应该什么时候联系我的服务器?如果我想在对我的服务器的调用完成时向用户显示警报,我应该什么时候这样做?
这是我正在使用的代码:
//This is called on "SKPaymentTransactionStatePurchased"
- (void) completeTransaction: (SKPaymentTransaction *)transaction
{
[self saveAndVerifyOnServer:transaction];
[[SKPaymentQueue defaultQueue] finishTransaction: transaction];
}