Как я могу получить идентификатор продукта из восстановленной транзакции? - PullRequest
19 голосов
/ 20 февраля 2012

Мне удалось восстановить транзакции в приложении и получить идентификатор транзакции из исходной транзакции, но как мне определить продукт, который был куплен в транзакции?Можно ли получить идентификатор продукта для ранее приобретенного продукта в приложении?

Ответы [ 2 ]

56 голосов
/ 20 февраля 2012

если вы имеете в виду, что хотите проверить купленные товары, которые уже купили пользователи .. да, вы можете сделать так

- (void) checkPurchasedItems
{
   [[SKPaymentQueue defaultQueue] restoreCompletedTransactions];
}//You Call This Function

//Then this delegate Function Will be fired
- (void) paymentQueueRestoreCompletedTransactionsFinished:(SKPaymentQueue *)queue
{
purchasedItemIDs = [[NSMutableArray alloc] init];

NSLog(@"received restored transactions: %i", queue.transactions.count);
for (SKPaymentTransaction *transaction in queue.transactions)
{
    NSString *productID = transaction.payment.productIdentifier;
    [purchasedItemIDs addObject:productID];
}
}
6 голосов
/ 16 августа 2015

SWIFT VERSION:

Как только вы получите делегата

func paymentQueueRestoreCompletedTransactionsFinished(queue: SKPaymentQueue!) {
    var productIds = [String]()
    for transcation in queue.transactions{
        if let productID = transcation.payment?.productIdentifier{
        productIds.append(productID)
        }
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...