2010-10-08 14 views
5

मेरे पास एक ऐप है जिसे मैं बाजार स्थान के माध्यम से और अपनी साइट से भी वितरित करना चाहता हूं। मैं केवल एक बिल्ड और एक कुंजी का उपयोग करके, यह देखने के लिए कैसे जांचूं कि ऐप बाजार स्थान से डाउनलोड किया गया था या नहीं?एंड्रॉइड: पता लगाएं कि क्या ऐप बाजार से डाउनलोड किया गया था

This question का उत्तर विभिन्न कुंजी के साथ कोड हस्ताक्षरित किया गया है, लेकिन हम आदर्श रूप से एक एकल निर्माण चाहते हैं।

+0

पता नहीं है जैसा कि मुझे पता है कि यह एक निर्माण में नहीं किया जा सका। –

+0

सर्गेई - इसे एक उत्तर के रूप में चिपकाएं और मैं इसे सही के रूप में चिह्नित करूंगा। जो मैं बता सकता हूं, आप सही हैं कि यह संभव नहीं है। – Martyn

उत्तर

1

ऐसा लगता है कि यह नहीं किया जा सकता है।

+1

ध्यान दें कि यह केवल ओपी की बाधाओं को नहीं किया जा सकता है। यह एक अद्वितीय कुंजी के साथ बाजार निर्माण पर हस्ताक्षर करके और ऐप के अंदर संग्रहीत मूल्य के विरुद्ध कुंजी के चेकसम की तुलना करके किया जा सकता है। व्यक्तिगत रूप से, मैं रिलीज बनाम डीबग बिल्ड के लिए निर्माण स्क्रिप्ट द्वारा अनुकूलित करना पसंद करता हूं। –

0

मुझे नहीं पता कि यह वास्तव में सहसंबंधित है या नहीं, लेकिन यदि आप /data/system/packages.xml बाजार ऐप्स को इंस्टॉलर = "com.google.android.feedback" पढ़ सकते हैं, तो उन लोगों के साथ बंडल किया गया है सिस्टम निर्माण और स्थानीय रूप से संकलित उन नहीं करते हैं।

+1

हाल ही में एंड्रॉइड मार्केट में "com.android.vending" पैकेज है। –

1

मेरे एंड्रॉइड 1.5 हैंडसेट केवल बाजार के माध्यम से स्थापित एप्लिकेशन मार्केट ऐप में "मेरे डाउनलोड" में सूचीबद्ध हैं, इसलिए सवाल यह है कि यदि आप उस सूची को रनटाइम में पुनर्प्राप्त कर सकते हैं। मुझे नहीं पता कि यह एंड्रॉइड 2.x के साथ समान है या नहीं।

1

बाजार से भुगतान किए गए ऐप्स यह निर्धारित करने के लिए एंड्रॉइड लाइसेंसिंग मॉड्यूल का उपयोग कर सकते हैं कि वे बाजार से खरीदे गए हैं या नहीं। लेकिन निःशुल्क ऐप्स के लिए मैं जहाँ तक एक समाधान

http://developer.android.com/guide/publishing/licensing.html

3

packageManager.getInstallerPackageName (संदर्भ) .equals ("com.google.android.feedback")

http://developer.android.com/reference/android/content/pm/PackageManager.html#getInstallerPackageName(java.lang.String)

+2

यह एक व्यावहारिक समाधान नहीं हो सकता है, क्योंकि [कुछ डेवलपर रिपोर्टिंग कर रहे हैं] (http://groups.google.com/group/android-developers/browse_thread/thread/d3c0ac0748e38132) कि 'getInstallerPackageName() 'हमेशा वापस नहीं आता है जब बाजार के माध्यम से एप्लिकेशन इंस्टॉल किया जाता है तो वही मूल्य (या कोई भी मूल्य)। –

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