我正在通过我的服务器以 zip 文件(不是 Apple 服务器)的形式提供购买来实现应用内购买。
由于可下载的文件非常大,50Mb-500Mb 我想让用户购买这些项目,并且只有在他们想要下载和安装购买的时候。
所以我的实现将是 By - Close Apple Transaction and Mark Item as Purchased - Trigger Download when you want
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];
}