मेरे पास एक ऐप है जो मैं चाहता हूं कि उपयोगकर्ता विज्ञापन निकालने के लिए एक छोटा सा शुल्क चुकाने में सक्षम हों। मुझे ऐसा करने का सबसे अच्छा तरीका है (ऐप को मुक्त रहने की जरूरत है) एक इन-एप खरीद के माध्यम से है। मैं सोच रहा हूं कि विज्ञापनों को हटाने के बारे में जाने का सबसे अच्छा तरीका और उपयोगकर्ता ने अपग्रेड खरीदे जाने के बाद इसे कैसे किया जाए। कोई मदद या सलाह बहुत अच्छा धन्यवाद होगा।जब उपयोगकर्ता इन-ऐप खरीद खरीदता है तो विज्ञापन कैसे हटाएं
उत्तर
NSUserDefaults में एक बूलियन सही शर्त की तरह लगता है। आप यह देखने के लिए लॉन्च पर देख सकते हैं कि विज्ञापन प्रदर्शित होना चाहिए या नहीं, ऐप को तदनुसार विज्ञापन छुपाएं या दिखाएं, और जब उपयोगकर्ता इसे अक्षम करने का भुगतान करता है तो उचित मूल्य पर सेट करें। जोड़ने के लिए
संपादित:
बस this on the dev forums देखा। यदि आप अपने NSUserDefaults बूलियन के साथ झुकाव वाले जेलब्रोकन उपकरणों पर उपयोगकर्ताओं के बारे में विशेष रूप से चिंतित हैं, तो आप वैकल्पिक रूप से कीचेन का उपयोग करके डेटा स्टोर कर सकते हैं। NSUserDefaults उसी तरह से कीचेन को दखल नहीं दिया जा सकता है। उस लिंक पर अधिक जानकारी।
मैं आम तौर पर एंटी-पाइरेसी सामानों पर अधिक प्रयास करने में विश्वास नहीं करता हूं, लेकिन यह स्वयं को कवर करने का एक आसान तरीका है जो NSUserDefaults का उपयोग करने से बहुत अधिक खर्च नहीं करता है।
अच्छा, यह समस्या आईफोन सीमित नहीं है। आपको कई सुरक्षा एल्गोरिदम में से एक को लागू करना चाहिए। (मुझे नहीं पता कि खरीदारी कैसे की जाती है लेकिन मैं एक सुझाव दूंगा) आप खरीद के बाद उदाहरण के लिए आईएमईआई को खरीद सर्वर पर भेज सकते हैं जो ऐप सहेजने वाला कोड उत्पन्न करेगा। फिर सभी ऐप विज्ञापनों को सक्षम/अक्षम करने के लिए इसकी जांच करेंगे। (कुछ हैशिंग एल्गोरिदम या ऐसे कोड के साथ कोड बनाने का प्रयास करें)
कृपया याद रखें कि सभी सिस्टम क्रैक किए जा सकते हैं इसलिए कुछ जटिल जटिल प्रयास न करें जो आपके वास्तविक उपयोगकर्ता सिरदर्द को देगा।
मैं नहीं कह सकता कि मैं सहमत हूं। वास्तव में, यह केवल ओवरकिल नहीं है, यह एक बुरा विचार है। सबसे पहले, आईएमईआई प्राप्त करने के लिए आईफोन ऐप के लिए कोई एपीआई नहीं है - जो भी आप प्राप्त कर सकते हैं वह यूडीआईडी है। दूसरा, उपयोगकर्ता किसी भी समय अपने हैंडसेट को बहुत अच्छी तरह से बदल सकता है। आईफोन एसडीके की स्टोरकिट एपीआई प्रतिस्थापन हार्डवेयर पर अनलॉक फीचर को पुनः प्राधिकृत करने के लिए तंत्र प्रदान करती है। इस तरह की एक सरल, अनलॉक करने योग्य सुविधा के लिए पहिया को फिर से शुरू करना सही कॉल की तरह प्रतीत नहीं होता है। –
एक और तरीका खरीद या पुनर्स्थापना पर प्राप्त एसकेपेमेंट ट्रान्सएक्शन से रसीद रिकॉर्ड करना होगा। बाद के लॉन्च पर आप पृष्ठभूमि में ऐप स्टोर के साथ उस रसीद को सत्यापित कर सकते हैं, यदि आवश्यक हो तो अगले लॉन्च के लिए विज्ञापन पुनः सक्षम करें।
Verifying Store Receipts documentation
जबकि मैं इस कहीं और से कोई मान्य उपयोगकर्ता की प्राप्ति में चिपकाने से बचाता है नहीं लगता है, यह NSUserDefaults में एक बूलियन टॉगल से नाकाम करने के लिए और अधिक कठिन है। इस लंबाई में जाने वाले किसी भी व्यक्ति को आपके ऐप के लिए भुगतान करने की संभावना नहीं है।
जिस चीज़ को आपको यहां चिंतित होने की आवश्यकता है (मुझे विश्वास है) यह है कि जब भी ऐप को पुनरारंभ होता है तो उपयोगकर्ता के पास नेटवर्क कनेक्शन नहीं हो सकता है। यदि उनके पास कोई सेल सिग्नल या वाईफाई एक्सेस नहीं है, तो वे सत्यापन संभव नहीं होंगे, और उपयोगकर्ता को विज्ञापन मिलेंगे - भले ही उन्हें निकालने के लिए भुगतान किया गया हो। मुझे लगता है कि वे इसके बारे में बहुत खुश नहीं होंगे। सावधान रहे। – Axeva
उस स्थिति में आपको रसीद प्रतिक्रिया के बजाय नेटवर्क त्रुटि प्राप्त होगी। आप बिल्कुल सही हैं; इसे एक असफल सत्यापन के रूप में व्याख्या नहीं किया जाना चाहिए। – mrwalker
यदि उनके पास कोई भी प्रकार का नेटवर्क कनेक्शन नहीं है तो उन्हें कोई भी विज्ञापन प्राप्त नहीं होगा। – Scooter
यदि उपयोगकर्ता ऐप को अनइंस्टॉल करें और फिर इंस्टॉल करें तो क्या होगा? –
आप किसी भी इन-ऐप खरीदारियों को फिर से अधिकृत करने के लिए StoreKit का उपयोग करेंगे। –