我正在使用我的服务器实现应用内购买,以zip文件的形式提供购买(不是Apple服务器)。
由于可下载文件非常大,50Mb-500Mb我想让用户购买这些物品 并且只有当他们想下载并安装购买时。
所以我的实施将是 通过 - 关闭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];
}