2012-02-17 11 views
6

के साथ विज्ञापन को हटा रहा है मैं एक छोटे से ट्यूटोरियल या स्पष्टीकरण की तलाश कर रहा हूं कि मैं अपने आवेदन में विज्ञापन को ऐप-एप-खरीद के साथ कैसे हटा सकता हूं? मैं अपने ऐप में कुछ विज्ञापन एडमोब के साथ रखूंगा लेकिन मैं यह भी चाहता हूं कि उपयोगकर्ता थोड़ा दान देने पर विज्ञापन को अक्षम कर सकता है। क्या आप एक पक्ष या ट्यूटोरियल जानते हैं जहां मुझे ऐसा करने के लिए चरण व्याख्या द्वारा थोड़ा कदम मिल सकता है? या मुझे अपने ऐप के 2 संस्करण प्रकाशित करने की ज़रूरत है? विज्ञापन के बिना विज्ञापन और विज्ञापन के बिना विज्ञापन?एड-ऐप-खरीद

उत्तर

5

साझा किए गए संदर्भ विधि का उपयोग न करें क्योंकि यदि उपयोगकर्ता ऐप डेटा फ्लैश करता है या आपके ऐप को अनइंस्टॉल/पुनर्स्थापित करता है तो उनकी विज्ञापन-मुक्त स्थिति खो जाएगी।

विचारों के एक जोड़े:

  1. अपने अनुप्रयोग वेब आधारित लॉगिन या प्राधिकरण के किसी भी प्रकार है, तो आप ध्वज के रूप में उपयोगकर्ता वेब डेटाबेस के ग्राहक डेटा को अपडेट करके विज्ञापन मुक्त संस्करण खरीदा और फिर हो रही है कर सकते हैं को निष्क्रिय लॉगिन और सत्यापन के बाद कोड में विज्ञापन। इसमें उपयोगकर्ता को नए उपकरणों के लिए उपयोग करने का अतिरिक्त लाभ है।
  2. एक अद्वितीय डिवाइस आईडी प्राप्त करने के कई तरीकों में से एक का उपयोग करें, और उसे वेब सर्वर डेटाबेस में संग्रहीत करें। स्टार्टअप पर, यह देखने के लिए डीबी से पूछें कि डिवाइस विज्ञापन मुक्त है या नहीं। Android Unique Device ID देखें। यह केवल उस विशेष डिवाइस के लिए काम करेगा हालांकि।

दो ऐप्स दृष्टिकोण भी काम पूरा करने के लिए काफी आसान है। :)

+0

अच्छे विचार की तरह लगता है, लेकिन मुझे नहीं (उपयोगकर्ता के लिए एक प्रमाणीकरण या लॉगिन क्योंकि यह आवश्यक नहीं है)। बाजार इस जानकारी को संभाल सकता है? मुझे लगता है कि बाजार यह भी जानता है कि उपयोगकर्ता ने सराय-ऐप-सामान खरीदा है या नहीं। क्या बाजार से यह जांचना संभव नहीं है? – Informatic0re

+2

दस्तावेज़ों [यहां] (http://developer.android.com/guide/market/billing/billing_integrate.html) के "लेनदेन की जानकारी बहाल करने" अनुभाग देखें। संक्षेप में: एक RESTORE_TRANSACTIONS अनुरोध ... ... में विस्तृत लेनदेन जानकारी शामिल है। लेनदेन की जानकारी एक हस्ताक्षरित JSON स्ट्रिंग (अनएन्क्रिप्टेड) ​​में निहित है। 'बंडल अनुरोध = makeRequestBundle (" RESTORE_TRANSACTIONS "); request.putLong (REQUEST_NONCE, mNonce); बंडल प्रतिक्रिया = mService.sendBillingRequest (अनुरोध); // इस प्रतिक्रिया के साथ कुछ करें। – Maz

+1

छोटे सुधार: यदि उपयोगकर्ता ऐप को अनइंस्टॉल और इंस्टॉल करता है, तो 'SharedPreference' डेटा हटाया नहीं जाता है। इसे केवल ** ** हटा दिया जाता है जब उपयोगकर्ता जानबूझकर ऐप को अनइंस्टॉल पृष्ठ में ऐप डेटा साफ़ करता है या डिवाइस को प्रारूपित करता है। लेकिन अन्यथा, आपका जवाब सही है। –

1

यह प्रस्तुति एक उदाहरण की व्याख्या करने लगती है और इसमें जिथब पर स्रोत कोड का एक लिंक शामिल है: http://gotocon.com/dl/2011/GeekNights/Tjen_penge_p%C3%A5_Android_ARH.pdf। यह एक साझा वरीयता पर खरीदे गए अपग्रेड को संग्रहीत करता है।

हालांकि, मैं अभी भी एक अधिक सुरक्षित और मजबूत समाधान है कि बाहर काम करता है के लिए देख रहा हूँ यूज-केस यहां विस्तार से बताया: http://vlingo-en.custhelp.com/app/answers/detail/a_id/1785/~/moving-in-app-purchase-(ad-removal)-to-new-android-phone/p/180

+2

कृपया vlingo-en का लिंक सही करें। वह टूटा था –