2012-04-30 18 views
10

com.android.vending.licensing का उपयोग करके आप यह जांच सकते हैं कि आपका ऐप लाइसेंस प्राप्त है या नहीं। एक कॉलबैक है, applicationError() जो आपको बताता है कि कुछ भी गलत हो गया है। आज मुझे त्रुटि ERROR_NOT_MARKET_MANAGED का सामना करना पड़ा और मैं यह नहीं समझ सकता कि मुझे इससे कैसे निपटना चाहिए!आप लाइसेंसCheckerCallback.ERROR_NOT_MARKET_MANAGED त्रुटि कोड से कैसे निपटते हैं?

यहाँ मैं क्या किया है:

  1. Google Play पर, मैं एक परीक्षण खाते के रूप में मेरे ई-मेल एड्रेस गयी।
  2. Google Play पर, मैंने versionCode="10" के साथ अपना ऐप (अप्रकाशित) सहेजा।
  3. मेरी मशीन पर, मैं versionCode="11" में बदल गया।
  4. लाइसेंस जांच अब त्रुटि कोड ERROR_NOT_MARKET_MANAGED के साथ विफल रहता है।

सवाल है, क्या मुझे इस त्रुटि को संभालना चाहिए या यह एक अवास्तविक परिदृश्य है?

उत्तर

30

ERROR_NOT_MARKET_MANAGED: नाम वास्तव में सब खुद के बारे में बताता है, आवेदन Android बाजार (गूगल प्ले अब कहा जाता है) द्वारा प्रबंधित नहीं है। अधिक विशेष रूप से, आपके एप्लिकेशन का संस्करण 11 Google Play में अपलोड या प्रकाशित नहीं है।

क्या मुझे इस त्रुटि को संभालना चाहिए या यह एक अवास्तविक परिदृश्य है?

मैं इसे एक अवास्तविक परिदृश्य मानता हूं। जब तक आप Google Play में नया ऐप संस्करण अपलोड करते हैं, तब तक आपको कोड में कुछ भी विशेष करने की आवश्यकता नहीं है। ERROR_NOT_MARKET_MANAGED एक एलवीएल विकास चेतावनी की तरह है जो डेवलपर को लाइसेंस जांच कोड को सही ढंग से कार्यान्वित करने में मदद करता है और परियोजना निर्माण समय पर लाइसेंस जांच परीक्षण के लिए सही प्रक्रिया का पालन करता है। LVL नमूना कोड में टिप्पणी की जाँच:

private class MyLicenseCheckerCallback implements LicenseCheckerCallback { 

    ... ... 

    public void applicationError(ApplicationErrorCode errorCode) { 
     if (isFinishing()) { 
      // Don't update UI if Activity is finishing. 
      return; 
     } 
     // This is a polite way of saying the developer made a mistake 
     // while setting up or calling the license checker library. 
     // Please examine the error code and fix the error. 
     //String result = String.format(getString(R.string.application_error), errorCode); 
     //String result = "Error"; 
     //handleLicensingResult(result); 
    } 
} 

अपने आवेदन में LVL को एकीकृत के पूरे मुद्दे Google Play अपना एप्लिकेशन प्रकाशित उपयोग करने के लिए, और Google Play क्लाइंट अनुप्रयोग डाउनलोड करने और अपने आवेदन स्थापित का उपयोग करें (में Requirements and Limitations खंड देखें देव गाइड)। मैं किसी भी बात यह है कि अंत उपयोगकर्ता के उपकरण पर कार्यावधि में इस applicationError पैदा कर सकता है नहीं देख अगर कर सकते हैं:

  1. डेवलपर (परीक्षण LVL के लिए) अपलोड करने के लिए या गूगल में (वास्तविक रिहाई के लिए) प्रकाशित खेलते हैं सही प्रक्रिया का पालन करें।
  2. अंतिम उपयोगकर्ता Google Play क्लाइंट एप्लिकेशन खरीद का उपयोग, एप्लिकेशन डाउनलोड और इंस्टॉल करें।

यदि कोई अंतिम उपयोगकर्ता किसी भी तरह से आपके चैनल की प्रतिलिपि (एलवीएल एकीकृत और Google Play में प्रकाशित/प्रकाशित) के साथ अन्य चैनल (Google Play के माध्यम से खरीद नहीं) से प्राप्त करता है और उसे अपने डिवाइस पर इंस्टॉल करने का प्रयास करता है (Google के साथ) उस डिवाइस पर स्थापित क्लाइंट एप्लिकेशन चलाएं), इस मामले में, LicenseCheckerCallback एप्लिकेशन एरर (ApplicationErrorCode त्रुटि कोड) के बजाय dontAllow() पर जायेगा।

+1

उत्कृष्ट उत्तर! धन्यवाद। – l33t

+0

लगता है कि यह त्रुटि अनिवार्य नहीं है। मैं अब दो साल से अधिक समय से ऐप्स बना रहा हूं और आईसीएस के साथ सैमसंग गैलेक्सी एस 2 पर अपने ऐप्स चलाते समय मैंने केवल यह त्रुटि देखी है। – slott

+0

शानदार जवाब यह बिल्कुल शानदार है, कई सोचते हैं। – Soham

13

Google Play पर अपलोड करने के तुरंत बाद अपने एप्लिकेशन का परीक्षण न करें।

परीक्षण शुरू करने से पहले कुछ समय (15-20 मिनट या शायद लंबा) प्रतीक्षा करें। Google play को आपके ऐप को पहचानने में कुछ समय लगता है।

+4

मुझे लगता है कि यह आपके फोन पर Google Play Store ऐप के कैश किए गए डेटा के कारण होता है, डेटा और/या कैश (सेटिंग्स - एप्लिकेशन - Google Play Store) को साफ़ करके, मैं परीक्षण कर सकता हूं और तुरंत लाइसेंस स्थिति बदल सकता हूं। – yorkw

+0

या बेहतर अभी तक, हार्डवेयर डिवाइस प्राप्त करें, इसे फ़ैक्टरी पर रीसेट करें, फिर इसे प्राथमिक उपयोगकर्ता खाता उस देव खाते में सेट करें जिसे आपने एपीके अपलोड किया था। – logray

+1

मेरे लिए यह एक घंटे से अधिक समय लगा ... मैंने सोचा कि मैं कुछ गलत कर रहा था, लेकिन ऐसा लगता है कि कभी-कभी किसी को धीरज रखने की आवश्यकता होती है। – neon1

1

अभी तक, 2014 मई, मुझे बीटा में अपलोड किए गए एपीके और विस्तार ओबीबी का परीक्षण करने के लिए परीक्षण ऐप (कोई उत्पादन एपीके अपलोड नहीं किया गया) प्रकाशित करना होगा। अन्यथा, APKExpansionPolicy परीक्षण करते समय, मुझे हमेशा ERROR_NOT_MARKET_MANAGED मिल गया। और प्रकाशित होने के 2 घंटे बाद (वेबपृष्ठ पर नोटिस ने "24 घंटे तक" कहा), मैं विस्तार फ़ाइल जानकारी प्राप्त कर सकता हूं।

परीक्षकों को छोड़कर कोई भी प्रकाशित ऐप AFAIK देख सकता है।

2

2 9 जुलाई, मुझे पता चला है कि मेरा ऐप अल्फा या बीटा परीक्षण में है, लेकिन मुझे कभी भी त्रुटि 3 या त्रुटि_नॉट_Market_Managed है। यह वास्तव में सर्वर से एक जवाब है। तो इसका मतलब है कि मैं सर्वर को छू रहा हूं और कोड अच्छा है। उत्तर के रूप में डेवलपर कंसोल में जो सेट किया गया है, उसके बावजूद, यह एकमात्र उत्तर है जो मुझे मिलता है।

मैंने वास्तव में 3 दिनों का इंतजार किया है और इसमें कोई बदलाव नहीं है। तो कोई प्रतीक्षा समय नहीं है जो स्वीकार्य है। मैंने अपने पूरे फोन को भी मंजूरी दे दी और रीसेट कर दिया। मैंने Google Play कैश और अन्य सभी जादू की चाल को मंजूरी दे दी। उनमें से कोई कारण नहीं था।

मैंने अपने नए Google लाइसेंस कोड के साथ पहले से प्रकाशित ऐप्स में से एक को अपडेट किया और सटीक प्रतिक्रिया प्राप्त की। संस्करण कोड बदलने के बाद और फिर इसे 4 घंटे बाद प्रकाशित करने के लिए अपलोड किया गया, यह ऐप सामान्य रूप से काम करता था और Google लाइसेंस जांच ने एक वैध वैध कोड के साथ जवाब दिया था। अब तक जब तक यह पूरी तरह से प्रकाशित हो जाता है, यह उस कोड के साथ प्रतिक्रिया देता है जिसे मैं इसे बताता हूं।

तो उत्तर है, Google लाइसेंस पूरी तरह से प्रकाशित होने तक ठीक से काम नहीं करेगा। यदि आपका ऐप अल्फा या बीटा में है और आपको त्रुटि 3 मिल रही है तो आप शायद अच्छे हैं। जब तक आप प्रकाशित करने के लिए तैयार न हों तब तक लाइसेंस चेक विधि पर टिप्पणी करें।

+0

यदि आपके ऐप में 'वर्जनकोड' है जो Google Play पर मौजूद नहीं है (प्रकाशित या अप्रकाशित), तो सभी त्रुटियों को त्याग दिया जाना चाहिए। मेरे मूल प्रश्न में वास्तव में सही उत्तर है; यह एक अवास्तविक परिदृश्य है। – l33t

+0

"जब मैंने संस्करण कोड बदल दिया और फिर इसे प्रकाशित करने के लिए अपलोड किया, लगभग 4 घंटे बाद, वह ऐप सामान्य रूप से काम करता था", शायद ऐसा इसलिए है क्योंकि आपने संस्करण कोड बदल दिया है? और मुझे आपके साथ एक ही समस्या है जबकि मुझे लगता है कि बीटा परीक्षण ठीक होना चाहिए। – Jacky

0

यह पुराने उपकरणों में भी हो सकता है। मैं वास्तविक संस्करण प्रकाशित किए बिना अपने ऐप का परीक्षण कर रहा हूं और यह मेरे गैलेक्सी एस 8 पर ठीक काम करता है, लेकिन मुझे यह संदेश मेरे गैलेक्सी एस 4 पर मिलता है। जिसका अर्थ है कि यह भी एक विनम्र तरीका है कि यह Google से भी एक गलती हो सकती है।

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