जब कोई उपयोगकर्ता Google Play पर डाउनलोड करने के लिए ऐप्लिकेशन खोजता या ब्राउज़ करता है, तो नतीजों को इस आधार पर फ़िल्टर किया जाता है कि वे ऐप्लिकेशन, डिवाइस के साथ काम करते हैं या नहीं. उदाहरण के लिए, अगर किसी ऐप्लिकेशन के लिए कैमरे की ज़रूरत है, तो Google Play उस ऐप्लिकेशन को ऐसे डिवाइसों पर नहीं दिखाएगा जिनमें कैमरा नहीं है. इस फ़िल्टरिंग की मदद से, डेवलपर अपने ऐप्लिकेशन के डिस्ट्रिब्यूशन को मैनेज कर पाते हैं. साथ ही, इससे यह पक्का करने में भी मदद मिलती है कि उपयोगकर्ताओं को सबसे अच्छा अनुभव मिले.
Google Play पर फ़िल्टर करने की सुविधा, ऐप्लिकेशन के कई तरह के मेटाडेटा और कॉन्फ़िगरेशन सेटिंग के आधार पर काम करती है. इनमें मेनिफ़ेस्ट में किए गए एलान, ज़रूरी लाइब्रेरी, आर्किटेक्चर डिपेंडेंसी, और Google Play Console में सेट किए गए डिस्ट्रिब्यूशन कंट्रोल शामिल हैं. जैसे, भौगोलिक टारगेटिंग, कीमत वगैरह.
Google Play पर फ़िल्टर करने की सुविधा, कुछ हद तक Android फ़्रेमवर्क के मेनिफ़ेस्ट एलान और अन्य पहलुओं पर आधारित होती है. हालांकि, फ़िल्टर करने का असल तरीका, फ़्रेमवर्क से अलग होता है और यह किसी खास एपीआई लेवल पर निर्भर नहीं होता. इस दस्तावेज़ में, Google Play के फ़िल्टर करने के मौजूदा नियमों के बारे में बताया गया है.
Google Play पर फ़िल्टर कैसे काम करते हैं
Google Play, यहां बताई गई फ़िल्टर से जुड़ी पाबंदियों का इस्तेमाल करके यह तय करता है कि Google Play ऐप्लिकेशन से ऐप्लिकेशन ब्राउज़ करने या खोजने वाले उपयोगकर्ता को आपका ऐप्लिकेशन दिखाना है या नहीं.
आपके ऐप्लिकेशन को दिखाना है या नहीं, यह तय करते समय Google Play, डिवाइस के हार्डवेयर और सॉफ़्टवेयर की ज़रूरी शर्तों के साथ-साथ, मोबाइल और इंटरनेट सेवा देने वाली कंपनी, जगह, और अन्य विशेषताओं की जांच करता है. इसके बाद, यह उन पाबंदियों और डिपेंडेंसी की तुलना करता है जो ऐप्लिकेशन की मेनिफ़ेस्ट फ़ाइल और पब्लिश करने की जानकारी में बताई गई हैं.
अगर फ़िल्टर के नियमों के मुताबिक, ऐप्लिकेशन डिवाइस के साथ काम करता है, तो Google Play उसे उपयोगकर्ता को दिखाता है. ऐसा न करने पर, Google Play आपके ऐप्लिकेशन को खोज के नतीजों और कैटगरी ब्राउज़िंग से छिपा देता है. भले ही, कोई उपयोगकर्ता सीधे Google Play में ऐप्लिकेशन के आईडी पर ले जाने वाले डीप लिंक पर क्लिक करके, ऐप्लिकेशन का खास तौर पर अनुरोध करता हो.
अपने ऐप्लिकेशन के लिए, उपलब्ध फ़िल्टर के किसी भी कॉम्बिनेशन का इस्तेमाल किया जा सकता है. उदाहरण के लिए, ऐप्लिकेशन में minSdkVersion
"4"
की ज़रूरत और smallScreens="false"
को सेट किया जा सकता है. इसके बाद, Google Play पर ऐप्लिकेशन अपलोड करते समय, सिर्फ़ यूरोप के देशों (कैरियर) को टारगेट किया जा सकता है. इसलिए, Google Play के फ़िल्टर, ऐप्लिकेशन को ऐसे किसी भी डिवाइस पर उपलब्ध होने से रोक देंगे जो इन तीनों ज़रूरी शर्तों को पूरा नहीं करता.
फ़िल्टर करने से जुड़ी सभी पाबंदियां, ऐप्लिकेशन के वर्शन से जुड़ी होती हैं. साथ ही, ये वर्शन के हिसाब से बदल सकती हैं. उदाहरण के लिए, अगर किसी उपयोगकर्ता ने आपका ऐप्लिकेशन इंस्टॉल किया है और आपने ऐसा अपडेट पब्लिश किया है जिससे उपयोगकर्ता को ऐप्लिकेशन नहीं दिखता है, तो उपयोगकर्ता को यह नहीं दिखेगा कि कोई अपडेट उपलब्ध है.
Google Play की वेबसाइट पर फ़िल्टर करना
जब उपयोगकर्ता Google Play की वेब साइट ब्राउज़ करते हैं, तो उन्हें पब्लिश किए गए सभी ऐप्लिकेशन दिखते हैं. हालांकि, Google Play की वेबसाइट, ऐप्लिकेशन के साथ काम करने के लिए, उपयोगकर्ता के रजिस्टर किए गए हर डिवाइस की ज़रूरी शर्तों की तुलना करती है. साथ ही, उपयोगकर्ता को ऐप्लिकेशन इंस्टॉल करने की अनुमति सिर्फ़ तब देती है, जब वह उनके डिवाइस के साथ काम करता हो.
ऐप्लिकेशन मेनिफ़ेस्ट के आधार पर फ़िल्टर करना
ज़्यादातर फ़िल्टर, ऐप्लिकेशन की मेनिफ़ेस्ट फ़ाइल, AndroidManifest.xml में मौजूद एलिमेंट से ट्रिगर होते हैं. हालांकि, मेनिफ़ेस्ट फ़ाइल में मौजूद हर चीज़ से फ़िल्टरिंग ट्रिगर नहीं हो सकती. टेबल 1 में ऐसे मेनिफ़ेस्ट एलिमेंट की सूची दी गई है जिनका इस्तेमाल, फ़िल्टर करने की सुविधा को ट्रिगर करने के लिए किया जाना चाहिए. साथ ही, इसमें यह भी बताया गया है कि हर एलिमेंट के लिए फ़िल्टर करने की सुविधा कैसे काम करती है.
टेबल 1. ऐसे मेनिफ़ेस्ट एलिमेंट जो Google Play पर फ़िल्टर करने की सुविधा को ट्रिगर करते हैं.
मेनिफ़ेस्ट एलिमेंट | फ़िल्टर का नाम | यह सुविधा कैसे काम करती है |
---|---|---|
<supports-screens>
|
स्क्रीन का आकार |
कोई ऐप्लिकेशन, आम तौर पर, Google Play यह मानता है कि डिवाइस पर मौजूद प्लैटफ़ॉर्म, छोटे लेआउट को बड़ी स्क्रीन पर दिखा सकता है, लेकिन बड़े लेआउट को छोटी स्क्रीन पर नहीं दिखा सकता. इसलिए, अगर कोई ऐप्लिकेशन सिर्फ़ "सामान्य" स्क्रीन साइज़ के साथ काम करने का दावा करता है, तो Google Play उस ऐप्लिकेशन को सामान्य और बड़ी स्क्रीन वाले दोनों डिवाइसों के लिए उपलब्ध कराता है. हालांकि, वह ऐप्लिकेशन को फ़िल्टर कर देता है, ताकि वह छोटी स्क्रीन वाले डिवाइसों के लिए उपलब्ध न हो. अगर कोई ऐप्लिकेशन
उदाहरण 1 उदाहरण 2 तीसरा उदाहरण अपने ऐप्लिकेशन में स्क्रीन साइज़ के साथ काम करने की सुविधा के बारे में बताने के तरीके के बारे में ज़्यादा जानने के लिए, |
<uses-configuration>
|
डिवाइस के लिए कॉन्फ़िगरेशन: कीबोर्ड, नेविगेशन, टच स्क्रीन |
कोई ऐप्लिकेशन, हार्डवेयर की कुछ सुविधाओं का अनुरोध कर सकता है. Google Play, ऐप्लिकेशन को सिर्फ़ उन डिवाइसों पर दिखाएगा जिनमें ज़रूरी हार्डवेयर मौजूद है. उदाहरण 1 उदाहरण 2 ज़्यादा जानकारी के लिए, |
<uses-feature>
|
डिवाइस की सुविधाएं ( name ) |
किसी ऐप्लिकेशन के लिए, डिवाइस पर कुछ सुविधाएं मौजूद होना ज़रूरी हो सकता है. यह सुविधा Android 2.0 (एपीआई लेवल 5) में लॉन्च की गई थी. उदाहरण 1 उदाहरण 2 पूरी जानकारी के लिए, अहम सुविधाओं के आधार पर फ़िल्टर करना: कुछ मामलों में, Google Play, |
OpenGL-ES
वर्शन ( openGlEsVersion ) |
किसी ऐप्लिकेशन के लिए ज़रूरी हो सकता है कि डिवाइस पर उदाहरण 1 उदाहरण 2 तीसरा उदाहरण चौथा उदाहरण ज़्यादा जानकारी के लिए, |
|
<uses-library> |
सॉफ़्टवेयर लाइब्रेरी | किसी ऐप्लिकेशन के लिए, डिवाइस पर कुछ खास शेयर की गई लाइब्रेरी मौजूद होने की ज़रूरत पड़ सकती है. उदाहरण 1 उदाहरण 2 ज़्यादा जानकारी के लिए, |
<uses-permission> |
Google Play, आम तौर पर, अगर कोई ऐप्लिकेशन हार्डवेयर से जुड़ी अनुमतियों का अनुरोध करता है, तो Google Play यह मान लेता है कि ऐप्लिकेशन को हार्डवेयर की सुविधाओं की ज़रूरत है. भले ही, हार्डवेयर की सुविधाओं से जुड़ी अनुमतियों की सूची के लिए, |
|
<uses-sdk> |
फ़्रेमवर्क का कम से कम वर्शन (minSdkVersion ) |
किसी ऐप्लिकेशन के लिए, कम से कम एपीआई लेवल की ज़रूरत हो सकती है. पहला उदाहरण दूसरा उदाहरण हमारा सुझाव है कि आप हमेशा |
फ़्रेमवर्क का ज़्यादा से ज़्यादा वर्शन (maxSdkVersion ) |
अब काम नहीं करता. Android
2.1 और उसके बाद के वर्शन, |
बेहतर मेनिफ़ेस्ट फ़िल्टर
टेबल 1 में मौजूद मेनिफ़ेस्ट एलिमेंट के अलावा, Google Play, टेबल 2 में मौजूद बेहतर मेनिफ़ेस्ट एलिमेंट के आधार पर भी ऐप्लिकेशन फ़िल्टर कर सकता है.
ये मेनिफ़ेस्ट एलिमेंट और इनसे ट्रिगर होने वाली फ़िल्टरिंग, सिर्फ़ असाधारण इस्तेमाल के उदाहरणों के लिए है. इन्हें खास तरह के बेहतर परफ़ॉर्म करने वाले गेम और उनसे मिलते-जुलते ऐप्लिकेशन के लिए डिज़ाइन किया गया है. इन ऐप्लिकेशन को डिस्ट्रिब्यूट करने के लिए, सख्त कंट्रोल की ज़रूरत होती है. ज़्यादातर ऐप्लिकेशन को कभी भी इन फ़िल्टर का इस्तेमाल नहीं करना चाहिए.
टेबल 2. Google Play पर फ़िल्टर करने के लिए, बेहतर मेनिफ़ेस्ट एलिमेंट.
मेनिफ़ेस्ट एलिमेंट | खास जानकारी |
---|---|
<compatible-screens> |
अगर डिवाइस की स्क्रीन का साइज़ और डेंसिटी, सावधानी: आम तौर पर, आपको इस मेनिफ़ेस्ट एलिमेंट का इस्तेमाल नहीं करना चाहिए. इस एलिमेंट का इस्तेमाल करने से, स्क्रीन साइज़ और डेंसिटी के उन सभी कॉम्बिनेशन को बाहर रखा जा सकता है जिन्हें आपने सूची में शामिल नहीं किया है. इससे आपके ऐप्लिकेशन के संभावित उपयोगकर्ताओं की संख्या काफ़ी कम हो सकती है. इसके बजाय, आपको |
<supports-gl-texture> |
Google Play, ऐप्लिकेशन को तब तक फ़िल्टर करता है, जब तक कि ऐप्लिकेशन के साथ काम करने वाले एक या एक से ज़्यादा जीएल टेक्सचर कंप्रेस करने के फ़ॉर्मैट, डिवाइस पर भी काम न करते हों. |
अन्य फ़िल्टर
Google Play, ऐप्लिकेशन की अन्य विशेषताओं का इस्तेमाल करके यह तय करता है कि किसी डिवाइस पर किसी उपयोगकर्ता के लिए ऐप्लिकेशन दिखाना है या नहीं. इस बारे में नीचे दी गई टेबल में बताया गया है.
टेबल 3. ऐप्लिकेशन और पब्लिश करने से जुड़ी ऐसी विशेषताएं जिनका असर Google Play पर फ़िल्टर करने की सुविधा पर पड़ता है.
फ़िल्टर का नाम | यह सुविधा कैसे काम करती है |
---|---|
पब्लिश करने की स्थिति | Google Play में खोजने और ब्राउज़ करने पर, सिर्फ़ पब्लिश किए गए ऐप्लिकेशन दिखेंगे. अगर कोई ऐप्लिकेशन अनपब्लिश हो गया है, तो भी उसे इंस्टॉल किया जा सकता है. इसके लिए ज़रूरी है कि उपयोगकर्ता उसे 'डाउनलोड' सेक्शन में, खरीदे गए, इंस्टॉल किए गए या हाल ही में अनइंस्टॉल किए गए ऐप्लिकेशन के बीच देख सकें. अगर किसी ऐप्लिकेशन को निलंबित कर दिया गया है, तो उपयोगकर्ता उसे फिर से इंस्टॉल या अपडेट नहीं कर पाएंगे. भले ही, वह उनके 'डाउनलोड' में दिखता हो. |
कीमत का स्टेटस | सभी उपयोगकर्ताओं को पैसे चुकाकर डाउनलोड किए जाने वाले ऐप्लिकेशन नहीं दिखते. पैसे चुकाकर डाउनलोड किए जाने वाले ऐप्लिकेशन दिखाने के लिए, ज़रूरी है कि डिवाइस में Android 1.1 या उसके बाद का वर्शन हो. साथ ही, वह किसी ऐसे देश में हो जहां पैसे चुकाकर डाउनलोड किए जाने वाले ऐप्लिकेशन उपलब्ध हों. अगर किसी डिवाइस में सिम कार्ड है, तो सिम कार्ड की सेवा देने वाली कंपनी यह तय करती है कि पैसे चुकाकर डाउनलोड किए जाने वाले ऐप्लिकेशन उपलब्ध हैं या नहीं. अगर किसी डिवाइस में सिम कार्ड नहीं है, तो डिवाइस के आईपी पते का इस्तेमाल करके यह पता लगाया जाता है कि वह डिवाइस, पैसे चुकाकर डाउनलोड किए जाने वाले ऐप्लिकेशन उपलब्ध कराने वाले देश में है या नहीं. |
देश के हिसाब से टारगेटिंग | Google Play पर अपना ऐप्लिकेशन अपलोड करते समय, कीमत तय करना और डिस्ट्रिब्यूशन सेक्शन में जाकर, उन देशों को चुना जा सकता है जहां आपको अपना ऐप्लिकेशन उपलब्ध कराना है. इसके बाद, ऐप्लिकेशन सिर्फ़ उन देशों में उपलब्ध होगा जिन्हें आपने चुना है. |
सीपीयू आर्किटेक्चर (एबीआई) | ऐसा ऐप्लिकेशन जिसमें किसी खास सीपीयू आर्किटेक्चर (उदाहरण के लिए, ARM EABI v7 या x86) को टारगेट करने वाली नेटिव लाइब्रेरी शामिल हों, वे सिर्फ़ उन डिवाइसों पर दिखते हैं जिन पर उस आर्किटेक्चर का इस्तेमाल किया जा सकता है. NDK और नेटिव लाइब्रेरी इस्तेमाल करने के बारे में जानकारी पाने के लिए, Android NDK क्या है? लेख पढ़ें |
कॉपीराइट वाले ऐप्लिकेशन | Google Play अब Play Console में कॉपी प्रोटेक्शन की सुविधा के साथ काम नहीं करता. साथ ही, इस सुविधा के आधार पर ऐप्लिकेशन को फ़िल्टर भी नहीं करता. अपने ऐप्लिकेशन को सुरक्षित रखने के लिए, कृपया ऐप्लिकेशन लाइसेंस देने वाली सेवा का इस्तेमाल करें. ज़्यादा जानकारी के लिए, कॉपीराइट की सुरक्षा के लिए बदलाव देखें. |
अलग-अलग फ़िल्टर के साथ कई एपीके पब्लिश करना
Google Play के कुछ खास फ़िल्टर की मदद से, एक ही ऐप्लिकेशन के लिए कई APK पब्लिश किए जा सकते हैं. इससे, अलग-अलग डिवाइस कॉन्फ़िगरेशन के लिए अलग-अलग APK उपलब्ध कराए जा सकते हैं. उदाहरण के लिए, अगर आपको ऐसा वीडियो गेम बनाना है जिसमें हाई-फ़िडेलिटी वाली ग्राफ़िक ऐसेट का इस्तेमाल किया गया हो, तो हो सकता है कि आप दो ऐसे APK बनाएं जो अलग-अलग टेक्स्चर कम्प्रेशन फ़ॉर्मैट के साथ काम करते हों. इस तरह, हर डिवाइस कॉन्फ़िगरेशन के लिए ज़रूरी टेक्सचर को शामिल करके, APK फ़ाइल का साइज़ कम किया जा सकता है. Google Play, आपके टेक्स्चर कम्प्रेशन फ़ॉर्मैट के लिए हर डिवाइस के सपोर्ट के आधार पर, उस डिवाइस के लिए आपके तय किए गए APK को डिलीवर करेगा.
फ़िलहाल, Google Play आपको एक ही ऐप्लिकेशन के लिए कई APK पब्लिश करने की अनुमति सिर्फ़ तब देता है, जब हर APK इन कॉन्फ़िगरेशन के आधार पर अलग-अलग फ़िल्टर उपलब्ध कराता हो:
- OpenGL टेक्सचर कंप्रेस करने के फ़ॉर्मैट
<supports-gl-texture>
एलिमेंट का इस्तेमाल करके. - स्क्रीन का साइज़ (ज़रूरत पड़ने पर, स्क्रीन की सघनता)
<supports-screens>
या<compatible-screens>
एलिमेंट का इस्तेमाल करके. - API स्तर
<uses-sdk>
एलिमेंट का इस्तेमाल करके. - सीपीयू आर्किटेक्चर (एबीआई)
Android SDK की मदद से बनाई गई नेटिव लाइब्रेरी शामिल करके, जो किसी खास सीपीयू आर्किटेक्चर (उदाहरण के लिए, ARM EABI v7 या x86) को टारगेट करती हैं.
बाकी सभी फ़िल्टर अब भी पहले की तरह ही काम करते हैं. हालांकि, ये चार फ़िल्टर ही Google Play पर एक ही ऐप्लिकेशन लिस्टिंग में, एक APK को दूसरे से अलग कर सकते हैं. उदाहरण के लिए, अगर APK सिर्फ़ इस आधार पर अलग-अलग हैं कि डिवाइस में कैमरा है या नहीं, तो एक ही ऐप्लिकेशन के लिए कई APK पब्लिश नहीं किए जा सकते.
अहम जानकारी: एक ही ऐप्लिकेशन के लिए कई APK पब्लिश करना, ऐडवांस सुविधा माना जाता है. ज़्यादातर ऐप्लिकेशन के लिए, सिर्फ़ एक ऐसा APK पब्लिश करना चाहिए जो कई तरह के डिवाइस कॉन्फ़िगरेशन के साथ काम करता हो. एक से ज़्यादा APK पब्लिश करने के लिए, आपको अपने फ़िल्टर में कुछ खास नियमों का पालन करना होगा. साथ ही, हर APK के वर्शन कोड पर ज़्यादा ध्यान देना होगा, ताकि हर कॉन्फ़िगरेशन के लिए सही अपडेट पाथ पक्का किया जा सके.
अगर आपको Google Play पर एक से ज़्यादा APK पब्लिश करने के तरीके के बारे में ज़्यादा जानकारी चाहिए, तो एक से ज़्यादा APK के लिए सहायता लेख पढ़ें.