2012-12-28 9 views
6

पर जाकर मेरे पास बाजार पर एक ऐप है जो $ 0.9 9 खर्च करता है। मैं इन-एप बिलिंग को कार्यान्वित करना चाहता हूं ताकि मैं इसे कीमत के लिए कुछ विशेषताओं को अनलॉक करने के विकल्प के साथ मुफ्त में पेश कर सकूं। मैंने कोड को पहले से ही संशोधित करने के लिए संशोधित कर दिया है। प्रश्न यह है कि मैं 1000+ लोगों को कैसे चिह्नित कर सकता हूं जिन्होंने पहले से ही ऐप खरीदा है और सभी सुविधाओं को अनलॉक कर लिया है?पेड से मुफ्त डब्ल्यू/इन-ऐप बिलिंग

+0

आपके पास किस प्रकार का ऐप है? क्या यह एक ऑफ़लाइन ऐप है? या आप अपने द्वारा प्रदान की जाने वाली कुछ सेवाओं के साथ इंटरनेट का उपयोग करते हैं? क्या उपयोगकर्ता आपके ऐप का उपयोग करने के लिए खाता या कुछ बनाते हैं? –

+0

यह एक ऑफ़लाइन ऐप है। कोई उपयोगकर्ता खाता या कुछ भी नहीं। – Roger

उत्तर

3

यदि आप किसी प्रकार के लगातार भंडारण का उपयोग कर रहे हैं तो आप इसके आसपास अपना रास्ता हैक करने में सक्षम हो सकते हैं।

साझा किए गए संदर्भों के लिए, पहले भाग पर, SharedPreferences.contains() का उपयोग करके अपनी प्राथमिकताओं में से किसी एक के लिए चेक करें। यदि इसमें यह शामिल है, तो ऐप पहले ही इंस्टॉल हो चुका होगा। यदि नहीं, तो एक और प्राथमिकता सेट करें जो उपयोगकर्ता को नए (फ्री) के रूप में चिह्नित करती है, और अभी तक एक और सेट करें ताकि यह हर बार चेक न करे।

यह केवल तभी काम कर सकता है जब वरीयता में "डिफ़ॉल्ट" मान न हो, मैं पूरी तरह से सुनिश्चित नहीं हूं कि xml में डिफ़ॉल्ट सेट करना इसे निहित के रूप में चिह्नित करेगा।

यदि आप एसडी में स्थानांतरित होने वाली कोई भी संपत्ति है, या किसी भी एक ही समय के सेटअप के लिए आप कुछ ऐसा ही कर सकते हैं। बस यह देखने के लिए जांचें कि यह पहली बार ऐसा करने से पहले ही किया गया है या नहीं।

यदि आप SQLite डीबी का उपयोग कर रहे हैं, तो आप वर्तमान संस्करण (या पहले) से आने पर onUpgrade() में "भुगतान" के रूप में डीबी संस्करण बढ़ा सकते हैं और "पेड" के रूप में चिह्नित कर सकते हैं।

जैसा कि मैंने कहा, यह एक हैक है, लेकिन मुझे किसी ऐप इंस्टॉल को देखने के लिए जांच करने के लिए किसी भी "आधिकारिक" तरीके से कोई अपग्रेड या प्रारंभिक इंस्टॉल नहीं है। यद्यपि यहां कुछ नुकसान हैं। उदाहरण के लिए, यदि कोई पिछला भुगतान ग्राहक नया संस्करण स्थापित करने से पहले पूरी तरह से अनइंस्टॉल करता है, या यदि यह किसी नए डिवाइस पर है ...

+0

यह सिर्फ काम नहीं करेगा। इस मामले पर विचार करें कि उपयोगकर्ता के पास आपका भुगतान संस्करण पहले था, लेकिन बाद में उसने इसे हटा दिया। अब वह नया आईएबी संस्करण स्थापित करना चाहता है। जाहिर है कि आपकी विधि उसे प्रारंभिक उपयोग के रूप में वर्गीकृत करती है जबकि उसने पहले से ही भुगतान किया है। – abedfar

+0

@abedfar मैं स्पष्ट रूप से उस मामले को अपने अंतिम वाक्य में उल्लेख करता हूं। जैसा कि मैंने कहा, यह एक हैक है, और पिछले तीन सालों में चीजें बदल सकती हैं, मुझे विश्वास है कि अभी भी सभी उपयोगकर्ताओं के लिए यह "सही" करने का अच्छा तरीका नहीं है। – Geobits

+0

आप सही हैं। क्या आपको लगता है कि अगर मैं अपना सशुल्क ऐप मुफ्त में बदलता हूं तो भी मैं पहले से ही भुगतान किए गए उपयोगकर्ताओं (जो कि मैं अब भुगतान किए गए ऐप में कर रहा हूं) में अंतर करने के लिए Google लाइसेंसिंग सर्वर लाने में सक्षम हूं? मुझे व्यक्तिगत रूप से संदेह है क्योंकि जैसे ही मैं अपना सशुल्क ऐप मुफ्त में बदलता हूं, फिर एलआईसी सत्यापन अर्थहीन हो जाता है और Google को सभी एलआईसी प्रश्नों के लिए सच होना चाहिए। – abedfar