0

我正在通过我的服务器以 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];
}
4

0 回答 0