2011-06-10 13 views
5

खरीदने पर रहता है मेरे पास ऐप खरीद (सैंडबॉक्स पर्यावरण) में उपयोगकर्ता को रद्द करने के साथ कुछ अजीब व्यवहार है जबकि ऐप पृष्ठभूमि में है और उपयोगकर्ता अभी तक लॉग इन नहीं है दुकान:ऐप खरीद में उपयोगकर्ता पृष्ठभूमि में एप करते समय टीएक्स को रद्द करता है: टीएक्स राज्य

प्रक्रिया इस प्रकार है:

  • उपयोगकर्ता प्रवेश न होने पर इन/ऐप्लिकेशन आईडी सेटिंग्स में सेट नहीं है> स्टोर
  • उपयोगकर्ता बटन क्लिक खरीदते हैं। यह [[SKPaymentQueue defaultQueue] addPayment:payment];
  • उपयोगकर्ता तुरंत घर बटन (ऐप पृष्ठभूमि पर जाता है)
  • स्टोरकिट पॉपअप खरीद की पुष्टि करने के लिए कहता है। उपयोगकर्ता
  • ऐप को फिर से सक्रिय किया जाता है और - (void)paymentQueue:(SKPaymentQueue *)queue updatedTransactions:(NSArray *)transactions प्राप्त करने की अपेक्षा करता है, लेकिन ऐसा नहीं करता है। TX अभी भी राज्य खरीद में है।

यह प्रक्रिया अलग है, अगर पहले से ही स्टोर में testuser लॉग इन है। उस स्थिति में उपरोक्त प्रक्रिया अपेक्षित के रूप में काम करती है।

एक और टिप्पणी: उपरोक्त चरणों के बाद, मैं वास्तव में एक और इन-ऐप आइटम खरीदता हूं (ऐपस्टोर में लॉग इन करने में)। इसके बाद मैंने ऐप को पृष्ठभूमि में भेज दिया और इसे पुनः सक्रिय कर दिया और यह गायब लेनदेन रद्द करने की प्रक्रिया करेगा।

निष्कर्ष: एक उपयोगकर्ता एक भुगतान tx निरस्त करते समय एप्लिकेशन पृष्ठभूमि में और नहीं है storekit कॉलबैक के देरी से वितरण में दुकान परिणामों में लॉग इन किया जा रहा है। वास्तव में ऐपस्टोर में उपयोगकर्ता लॉग इन करने के बाद डिलीवरी की जाती है और ऐप को पुनः सक्रिय करके भुगतान क्यूई प्रक्रिया शुरू हो जाती है।

यह व्यवहार गलत लगता है और यदि यह वास्तव में वास्तविक वातावरण में है, तो मैं इसे एक स्टोरकिट बग पर विचार कर सकता हूं। क्या किसी ने एक ही व्यवहार का अनुभव किया है या राज्य खरीदने में टीएक्स "लटकाने" को रोकने के लिए कुछ इंगित कर सकता है?

धन्यवाद, मार्कस

+0

एक ही समस्या है। क्या आपने इसे हल किया? – nico

+0

@ निको नहीं, मैंने एक बग रिपोर्ट दर्ज करने के बारे में सोचा, लेकिन अभी तक ऐसा नहीं किया है। मुझे भी यकीन नहीं है, अगर यह केवल सैंडबॉक्स पर्यावरण के लिए होता है। – marcus

+0

मैंने इस मुद्दे के लिए एक बग दायर किया। – marcus

उत्तर

2

मैं तुम्हें कुछ भी पर भरोसा कर सकते हैं जब यह किट स्टोर करने के लिए आता विश्वास नहीं है। "खरीदें" बटन दबाए जाने के बाद लेनदेन के लिए कतारबद्ध होने के बजाय "अपेक्षाकृत प्रतीक्षा करें" की बजाय, बस अपने व्यवसाय के बारे में जानें। जब आपको अधिसूचित किया जाता है कि लेनदेन (जो कल हो सकता है) उन्हें संसाधित करता है। मेरा मानना ​​है कि दस्तावेज़ीकरण में इस प्रभाव पर एक टिप्पणी है - कि आपके ऐप को लॉन्च होने पर एसके अधिसूचनाओं के लिए पंजीकरण करना चाहिए और इसे किसी भी समय उन्हें प्राप्त करने की उम्मीद करनी चाहिए। तो जब स्टोर किट की बात आती है तो अपने ऐप में "राज्य" के बारे में कोई जागरूकता न बनाएं। जब वे पहुंचते हैं तो बस लेनदेन को संसाधित करें।