我正在使用我的服务器实现应用内购买,以zip文件的形式提供购买(不是Apple服务器) .
由于可下载文件非常大,50Mb-500Mb我想让用户购买这些商品,并且只有在他们想要下载并安装购买时 .
所以我的实现将是 - 关闭Apple交易和标记项目购买 - 触发下载时你想要
Apple文档建议您仅在下载完成后关闭事务:我一直在阅读所有Apple文档,我看不到任何关于此的具体评论说您必须在下载后关闭事务 .
我是否会被Apple拒绝?
这里的代码:在“SKPaymentTransactionStatePurchased”的情况下,我调用方法“completeTransaction”,它正在关闭事务本身 . 我的问题是关于方法:[self provideContent:transaction.payment.productIdentifier];
我可以在以后的“finishTransaction”操作中从此处移动此下载吗?
- (void)paymentQueue:(SKPaymentQueue *)queue updatedTransactions:(NSArray *)transactions
{
for (SKPaymentTransaction *transaction in transactions)
{
switch (transaction.transactionState)
{
case SKPaymentTransactionStatePurchased:
// [self completeTransaction:transaction];
break;
case SKPaymentTransactionStateFailed:
// [self failedTransaction:transaction];
break;
case SKPaymentTransactionStateRestored:
// [self restoreTransaction:transaction];
default:
break;
}
}
}
- (void) completeTransaction: (SKPaymentTransaction *)transaction
{
[self recordTransaction:transaction];
[self provideContent:transaction.payment.productIdentifier];
// Remove the transaction from the payment queue.
[[SKPaymentQueue defaultQueue] finishTransaction: transaction];
}