Мне удалось восстановить транзакции в приложении и получить идентификатор транзакции из исходной транзакции, но как определить продукт, который был куплен в транзакции? Можно ли получить идентификатор продукта для ранее приобретенного продукта в приложении?
Как я могу получить идентификатор продукта из восстановленной транзакции?
Ответ 1
если вы хотите проверить купленные предметы, которые уже покупают пользователь. да, вы можете сделать это как
- (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];
}
}
Ответ 2
SWIFT VERSION:
Как только вы получите делегата
func paymentQueueRestoreCompletedTransactionsFinished(queue: SKPaymentQueue!) {
var productIds = [String]()
for transcation in queue.transactions{
if let productID = transcation.payment?.productIdentifier{
productIds.append(productID)
}
}