10

iOS アプリ内購入: いつ、なぜSKPaymentTransactionStateRestoredトランザクションのステータスとして返送されるのですか?

定期購読プランに関連していますか?

4

2 に答える 2

2

にメッセージを送信してユーザーの購入を復元しているときSKPaymentTransactionStateRestoredに、トランザクションではなくトランザクションを取得します。SKPaymentTransactionStatePurchasedrestoreCompletedTransactionsSKPaymentQueue

于 2011-12-01T15:11:42.413 に答える
1

一般的なルールは、購入と購入の復元の両方のコールバックを処理することです。

- (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 content:transaction.payment.productIdentifier];

[[SKPaymentQueue defaultQueue] finishTransaction: transaction];
}

- (void) restoreTransaction: (SKPaymentTransaction *)transaction
{
[self recordTransaction: transaction content:transaction.originalTransaction.payment.productIdentifier];

[[SKPaymentQueue defaultQueue] finishTransaction: transaction];
}
于 2011-12-17T05:59:45.237 に答える