2011-04-04 9 views
24

मैं इन-एप्लिकेशन बिलिंग Android से जुड़े कुछ प्रश्न हैं:ऐप्लिकेशन के अंतर्गत बिलिंग सुरक्षा और डिजाइन सवाल

  1. यह गैर Market एप्लिकेशन से एक खरीद कर करना संभव है? मैं समझता हूं कि यह एक भेद्यता होगी, लेकिन मुझे यह पता लगाने का कोई मौका नहीं है कि यह संभव है या नहीं।

  2. मैं किसी विशेष उत्पाद के लिए खरीद स्थिति कैसे प्राप्त कर सकता हूं? जहां तक ​​मैं समझता हूं कि इसे RESTORE_TRANSACTIONS अनुरोध का उपयोग करके किया जा सकता है, लेकिन इसे अक्सर उपयोग करने की अनुशंसा नहीं की जाती है। यह एक सैद्धांतिक समस्या नहीं है। मेरा एप्लिकेशन उपयोगकर्ताओं को इन-ऐप बिलिंग का उपयोग करके सामग्री खरीदने की अनुमति देता है। सामग्री को सर्वर से डाउनलोड किया जा सकता है, और सर्वर को सामग्री डाउनलोड करने की अनुमति देनी चाहिए, अगर इसे खरीदा गया हो। लेकिन यह जांच नहीं कर सकता कि सामग्री को खरीदा गया था या नहीं, एंड्रॉइड मार्केट से हस्ताक्षरित प्रतिक्रिया का उपयोग किए बिना।

  3. एंड्रॉइड मार्केट से किसी आइटम की कीमत और विवरण कैसे प्राप्त किया जा सकता है? ऐसा लगता है कि मुझे जवाब पता है और यह "ऐसा कोई रास्ता नहीं है" किया जा सकता है, लेकिन शायद मैं गलत हूं। आइटम की कीमत को पुनः प्राप्त करने की संभावना होने के लिए यह बहुत उपयोगी होगा।

यह मेरे लिए बहुत दिलचस्प है कि आपने अपने ऐप्स में इन समस्याओं को हल करने के लिए कैसे हल किया है। इनमें से किसी भी प्रश्न का उत्तर सराहना की जाएगी।

उत्तर

21

क्रम में:

1- नहीं। इन-ऐप बिलिंग प्रक्रिया बाजार का हिस्सा है। यदि ऐप कहीं और से आता है, तो एप्लिकेशन के मूल/प्रामाणिकता को सत्यापित करने के लिए बाजार का कोई तरीका नहीं है।

2- किसी विशेष उत्पाद के लिए खरीद स्थिति को स्टोर करना आपकी ज़िम्मेदारी है। doc से:

आपको उपयोगकर्ताओं की खरीद जानकारी संग्रहीत करने के लिए डेटाबेस या कुछ अन्य तंत्र स्थापित करना होगा।

RESTORE_TRANSACTIONS को डिवाइस पर पुनर्स्थापित या पहली बार इंस्टॉल के लिए आरक्षित किया जाना चाहिए।

3- दुर्भाग्यवश, इस समय आप सही हैं। फीचर अनुरोध दर्ज करें!

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

संबंधित, एंड्रॉइड डेवलपर एडवोकेट्स में से एक आईओ में एलवीएल/आईएपी पर एक वार्ता दे रहा है, जिसे "लाइसेंसिंग सत्यापन पुस्तकालय, इन-ऐप बिलिंग और ऐप इंजन का उपयोग करके" पिटाई और रोकथाम पिशाच "कहा जाता है। - जब वे वेबसाइट पर सत्र वीडियो जारी करते हैं तो यह निश्चित रूप से आपके समय के लायक होगा।

+0

आपके उत्तर के लिए धन्यवाद! मेरे पास कुछ अतिरिक्त सवाल है। 1) क्या होगा यदि मेरा ऐप डिस्प्ले, बदल गया और फिर संकलित हो गया? यह तब एक गैर-बाजार ऐप होगा। क्या इन-ऐप बिलिंग काम करना बंद कर देगी?2) जब आप डेटाबेस में खरीद के बारे में जानकारी संग्रहीत करते हैं तो एक सुरक्षित खरीद योजना असंभव है। इसलिए, मैं एक ऐप विकसित कर रहा हूं जो सर्वर से लाइसेंस फ़ाइल प्राप्त करता है और इसे स्थानीय रूप से जांचता है। लाइसेंस उत्पन्न करने के लिए मेरे सर्वर को कुछ हस्ताक्षरित डेटा की आवश्यकता है। मैं सिर्फ लाइसेंस के लिए नहीं पूछ सकता क्योंकि यह सर्वर की भेद्यता होगी। वर्तमान इन-ऐप बिलिंग कार्यान्वयन का उपयोग करके इसे कैसे कार्यान्वित किया जाना चाहिए? – Michael

+0

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

+0

मैं सर्वर से डाउनलोड की गई सामग्री खरीदने के लिए इन-ऐप बिलिंग का उपयोग करता हूं। तो अगर .apk संशोधित है, तो सामग्री को खरीदने के बिना डाउनलोड नहीं किया जा सकता है। और यहां तक ​​कि अगर इसकी प्रतिलिपि बनाई गई है, तो इसका उपयोग लाइसेंस फ़ाइल के बिना नहीं किया जा सकता है। निश्चित रूप से लाइसेंस सत्यापन भी संशोधित किया जा सकता है, लेकिन यह एक और समस्या है। मुझे सच में यकीन नहीं है कि एंड्रॉइड मार्केट ऐप के हस्ताक्षर की जांच करता है, लेकिन मैं इसे पसंद करूंगा। दस्तावेज़ों के बारे में क्या, मैंने सभी इन-ऐप बिलिंग दस्तावेज़ और नमूना के सभी स्रोत कोड को पढ़ा। लेकिन जिन चीज़ों के बारे में मैं पूछता हूं वे वहां शामिल नहीं हैं। और एलवीएल मेरी मदद नहीं करेगा क्योंकि इसका इस्तेमाल सामग्री बेचने के लिए नहीं किया जा सकता है। – Michael

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