2012-02-20 5 views
16

मैंने इन-एप लेनदेन को पुनर्स्थापित करने और मूल लेनदेन से लेनदेन पहचानकर्ता प्राप्त करने में कामयाब रहा है, लेकिन लेनदेन में खरीदे गए उत्पाद की पहचान कैसे करूं? क्या पहले खरीदे गए इन-ऐप उत्पाद के लिए उत्पाद पहचानकर्ता प्राप्त करना संभव है?मैं पुनर्स्थापित लेनदेन से उत्पाद पहचानकर्ता कैसे प्राप्त कर सकता हूं?

उत्तर

50

तुम्हारा मतलब अगर आप खरीदी गई वस्तुओं कि पहले से ही उपयोगकर्ता इसे खरीदने जाँच करना चाहते हैं .. हाँ आप इस

- (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]; 
} 
} 
+0

धन्यवाद! यही वही था जो मुझे चाहिए था। –

+0

मैंने वर्तमान में कतार में संसाधित किए गए SKPaymentTransaction से जुड़े उत्पाद आईडीडिफायर (यानी 'payment.payment.productIdentifier') को निर्धारित करने के लिए आपके समाधान का उपयोग किया था। धन्यवाद –

4

स्विफ्ट संस्करण की तरह कर सकते हैं:

एक बार जब आप प्रतिनिधि मिल

func paymentQueueRestoreCompletedTransactionsFinished(queue: SKPaymentQueue!) { 
    var productIds = [String]() 
    for transcation in queue.transactions{ 
     if let productID = transcation.payment?.productIdentifier{ 
     productIds.append(productID) 
     } 
    } 
संबंधित मुद्दे

 संबंधित मुद्दे