2011-07-24 23 views
8

मेरी इन ऐप खरीद में case SKPaymentTransactionStateRestored: विधि को पुनर्स्थापित करने पर कॉल नहीं किया जाता है, इसके बजाय, case SKPaymentTransactionStatePurchased: कहा जा रहा है, लेकिन उपयोगकर्ता को अलग-अलग जानकारी दिखाना चाहेंगे , जब खरीद बहाल हो जाती है।SKPaymentTransactionStateRestored को कॉल नहीं किया जाता है जब ऐप खरीद को पुनर्स्थापित किया जा रहा है

+0

एक ही समस्या होने पर .. क्या आपको कोई जवाब मिला? – kthorat

+0

@TheAstra no मुझे अभी भी कोई समाधान नहीं मिला है। मैं शायद ऐप्पल देव मंचों में पूछूंगा – JonasG

+0

क्या अभी तक कोई समाधान है? – NicTesla

उत्तर

0

मेरे पास एक सुराग है। विधि (भुगतान: अद्यतन ट्रांस्पेक्शन :) और especcially SKPaymentTransactionStateRestored: जब मैं SKProductRequest बनाता हूं और इसे लोड करना प्रारंभ करता हूं, तो राज्य को कॉल किया जा रहा है।

SKProductsRequest *request = [[SKProductsRequest alloc] initWithProductIdentifiers: [NSSet setWithArray: productIdentifiers]]; 
     request.delegate = self; 
     [request start]; 

मुझे एप्पल समाधान पर एक नज़र डालेंगी और देखें, अगर मुझे कोई अंतर मिल सकता है।

3

[कतार पुनर्स्थापित पूर्णतया लेनदेन] SKPaymentTransactionStateRestored राज्य को ट्रिगर करेगा, जहां कतार SKPaymentQueue है। आपके उपयोगकर्ता लेनदेन की पुष्टि करने के बाद आपको यह कहने की उम्मीद नहीं करनी चाहिए। इसके बजाय उपयोगकर्ता को डिवाइस द्वारा चेतावनी दी जाएगी अगर उसने पहले से ही उत्पाद खरीदा था।

0

मामले में, यह अभी तक हल नहीं किया है, तो आप एक तार्किक चाल के साथ यह कर सकता है। जब पुनर्स्थापना ट्रिगर हो रही है, तो इसे एक बुलियन ध्वज (या एक enum स्थिति, यदि आप पसंद करते हैं) के साथ याद रखें और एक अलग संदेश दिखाएं जब SKPaymentTransactionStatePurchased ट्रिगर हो रहा है। तुम्हें पता है, पता लगाने के लिए की रीस्टोर जब समाप्त कर दिया गया दो प्रतिनिधि तरीकों

- (void)paymentQueueRestoreCompletedTransactionsFinished:(SKPaymentQueue *)queue 

और

- (void)paymentQueue:(SKPaymentQueue *)queue restoreCompletedTransactionsFailedWithError:(NSError *)error 

लागू हो सकता है। और इस मामले में सहेजने के लिए, हो सकता है कि आप उपयोगकर्ता को कोई खरीदारी न करें, जबकि पुनर्स्थापना प्रगति पर है। आप उपयोगकर्ता को this जैसे कुछ दिखा सकते हैं, इसलिए उपयोगकर्ता देखता है कि वर्तमान में कुछ हो रहा है।

यह वही है जो मैंने किया और यह मेरे लिए काम करता है।

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