आपके ऐप्लिकेशन को लंबे समय तक सफलता मिलती है. जैसे, इंस्टॉल की संख्या और उपयोगकर्ता की समीक्षाएं, जुड़ाव, और ग्राहक बनाए रखना.
ऐप्लिकेशन की क्वालिटी को बेहतर बनाने के लिए, ऐप्लिकेशन की क्वालिटी के लिए बुनियादी ज़रूरतों से जुड़े दिशा-निर्देशों का पालन करें.
इन दिशा-निर्देशों में, ऐप्लिकेशन की क्वालिटी के लिए ज़रूरी शर्तें बताई गई हैं.
ऐप्लिकेशन की क्वालिटी को ज़रूरत के हिसाब से अडजस्ट करने की सुविधा
Android ऐप्लिकेशन, कई तरह के डिवाइसों पर काम करते हैं. जैसे, छोटे फ़ोन, टैबलेट, फ़ोल्ड किए जा सकने वाले डिवाइस, डेस्कटॉप, कनेक्टेड डिसप्ले, कार इन्फ़ोटेनमेंट सिस्टम, टीवी, और एक्सआर. स्प्लिट‑स्क्रीन और डेस्कटॉप विंडोविंग जैसे विंडोविंग मोड की मदद से, ऐप्लिकेशन को स्क्रीन के साइज़ के हिसाब से इस्तेमाल किया जा सकता है.
ऐप्लिकेशन की क्वालिटी को अडैप्टिव बनाने से जुड़े दिशा-निर्देशों का पालन करें. साथ ही, ऐप्लिकेशन की क्वालिटी से जुड़े मुख्य दिशा-निर्देशों का भी पालन करें. इससे:
- सभी फ़ॉर्म फ़ैक्टर और डिसप्ले साइज़ के लिए ऑप्टिमाइज़ किए गए ऐप्लिकेशन बनाना
- Google Play की लिस्टिंग और खोज के नतीजों में, अपने ऐप्लिकेशन को बेहतर रैंकिंग पाना
- ज़्यादा उपयोगकर्ताओं को हासिल करना और उन्हें बनाए रखना
दिशा-निर्देश
यहां दिए गए मुख्य दिशा-निर्देशों से, आपको अच्छी क्वालिटी वाला बुनियादी ऐप्लिकेशन बनाने में मदद मिलती है.
उपयोगकर्ता अनुभव
आपके ऐप्लिकेशन में, Android के स्टैंडर्ड विज़ुअल डिज़ाइन और इंटरैक्शन पैटर्न होने चाहिए, ताकि उपयोगकर्ताओं को एक जैसा और आसान अनुभव मिल सके.
जहां भी हो सके, Android प्लैटफ़ॉर्म के कॉम्पोनेंट की जगह, अपने ऐप्लिकेशन का यूज़र इंटरफ़ेस बनाने के लिए मटीरियल डिज़ाइन कॉम्पोनेंट का इस्तेमाल करें. मटीरियल डिज़ाइन, Android को मॉडर्न लुक और फ़ील देता है. साथ ही, Android के सभी वर्शन में यूज़र इंटरफ़ेस (यूआई) को एक जैसा रखता है.
| ID | परीक्षण | ब्यौरा |
|---|---|---|
| उपयोगिता | ||
| Usability:UX | T-Usability:Core, T-SD-Card |
ऐप्लिकेशन, सभी डिवाइसों पर इस्तेमाल के सभी उदाहरणों के लिए, उपयोगकर्ताओं को एक जैसा अनुभव देता है. |
| Usability:Switcher | T-Usability:Switcher, T-SD-Card |
जब फ़ोकस किसी दूसरे ऐप्लिकेशन पर स्विच होता है, तब ऐप्लिकेशन बैकग्राउंड में चला जाता है. हाल ही के ऐप्लिकेशन ऐप्लिकेशन स्विचर से फिर से चालू करने पर, ऐप्लिकेशन फ़ोरग्राउंड में वापस आ जाता है. |
| इस्तेमाल में आसानी:नींद | T-Usability:Sleep, T-SD-Card |
जब ऐप्लिकेशन फ़ोरग्राउंड में होता है, तब डिवाइस के स्लीप मोड में जाने पर यह रुक जाता है. डिवाइस के स्लीप मोड से बाहर आने पर, यह फिर से शुरू हो जाता है. |
| इस्तेमाल में आसानी:लॉक करें | T-Usability:Lock, T-SD-Card |
जब ऐप्लिकेशन फ़ोरग्राउंड में होता है, तब डिवाइस लॉक होने पर यह रुक जाता है और डिवाइस अनलॉक होने पर फिर से शुरू हो जाता है. |
| उपयोगकर्ता इंटरफ़ेस | ||
| UI:Parity | T-UI:Transitions |
डिसप्ले ओरिएंटेशन और फ़ोल्ड स्टेट, एक जैसी सुविधाएं और कार्रवाइयां उपलब्ध कराते हैं. साथ ही, दोनों में फ़ंक्शनल समानता बनी रहती है. |
| यूआई:फ़ुलस्क्रीन | T-UI:Transitions |
ऐप्लिकेशन, दोनों ओरिएंटेशन में ऐप्लिकेशन विंडो को भरता है. साथ ही, कॉन्फ़िगरेशन में बदलाव की वजह से लेटरबॉक्स नहीं होता. इसमें डिवाइस को फ़ोल्ड और अनफ़ोल्ड करना भी शामिल है. स्क्रीन के डाइमेंशन में मामूली अंतर को ठीक करने के लिए, लेटरबॉक्सिंग का इस्तेमाल किया जा सकता है. |
| UI:Transitions | T-UI:Transitions | ऐप्लिकेशन, डिसप्ले के ओरिएंटेशन और डिवाइस को फ़ोल्ड और अनफ़ोल्ड करने के बीच तेज़ी से ट्रांज़िशन करता है. इस दौरान, डिसप्ले रेंडरिंग से जुड़ी कोई समस्या नहीं आती और न ही ऐप्लिकेशन की स्थिति में कोई बदलाव होता है. |
| विज़ुअल क्वालिटी | ||
| Visual:Display | T-Visual:Display |
ऐप्लिकेशन में ग्राफ़िक, टेक्स्ट, इमेज, और अन्य यूज़र इंटरफ़ेस (यूआई) एलिमेंट, बिना किसी गड़बड़ी, धुंधलेपन या पिक्सलेशन के दिखते हों.
|
| विज़ुअल:रीडेबिलिटी | T-Visual:Readability | ऐप्लिकेशन में, टेक्स्ट और टेक्स्ट ब्लॉक को पढ़ने में आसानी होती है. इसके लिए, ऐप्लिकेशन में इस्तेमाल की जा सकने वाली हर भाषा के लिए, लाइन की लंबाई 45 से 75 वर्णों (स्पेस शामिल हैं) तक सीमित रखी जाती है. |
| विज़ुअल:थीम | T-Visual:Themes | ऐप्लिकेशन का कॉन्टेंट और ऐप्लिकेशन से ऐक्सेस किया गया सभी वेब कॉन्टेंट, हल्के और गहरे रंग वाली थीम, दोनों के साथ काम करता हो. |
| नेविगेशन | ||
| Nav:BackButton | T-Nav:Back | ऐप्लिकेशन में बैक बटन नेविगेशन की सुविधा काम करती हो. साथ ही, ऐप्लिकेशन में स्क्रीन पर दिखने वाले बैक बटन के लिए, कस्टम प्रॉम्प्ट का इस्तेमाल न किया गया हो. |
| Nav:BackGesture | T-Nav:Back | ऐप्लिकेशन में, वापस जाने और होम स्क्रीन पर जाने के लिए हाथ के जेस्चर (स्पर्श) वाले नेविगेशन की सुविधा काम करती हो. |
| Nav:State | T-Nav:State, T-Nav:Back |
फ़ोरग्राउंड से बाहर आने पर, ऐप्लिकेशन लोगों या ऐप्लिकेशन की मौजूदा स्थिति को सेव करके रखता है. साथ ही, यह ऐप्लिकेशन पर वापस जाने और इस पर स्थितियों में होने वाले अन्य बदलावों की वजह से डेटा को मिटने से बचाता है. फ़ोरग्राउंड पर वापस आने पर, ऐप्लिकेशन सेव की गई स्थिति और स्थिति के आधार पर किए जाने वाले सभी लंबित लेन-देन को वापस लाता है. उदाहरण के लिए, बदले जा सकने वाले फ़ील्ड, गेम की प्रोग्रेस, मेन्यू, वीडियो, और ऐप्लिकेशन के अन्य सेक्शन में बदलाव.
|
| सूचनाएं | ||
| सूचना दें:जानकारी | T-Notify:Info |
सूचनाओं में, आपके ऐप्लिकेशन से जुड़ी काम की जानकारी मिलती है.
|
| सूचना दें:मैसेज की सेटिंग | T-Notify:Info |
मैसेजिंग ऐप्लिकेशन, सोशल ऐप्लिकेशन, और बातचीत के लिए:
|
| सुलभता | ||
| ऐक्सेस:टारगेट | T-Access:Targets | टच टारगेट (स्क्रीन के वे हिस्से जहां छूने पर कोई ऐक्शन होता है) कम से कम 48 dp के हों. Material Design के लेआउट और टाइपोग्राफ़ी से जुड़े दिशा-निर्देश देखें. |
| Access:Contrast | T-Access:Contrast |
ऐप्लिकेशन के टेक्स्ट और फ़ोरग्राउंड कॉन्टेंट का कंट्रास्ट अनुपात, ऐप्लिकेशन के बैकग्राउंड के साथ इस तरह होना चाहिए:
कलर और कंट्रास्ट के बारे में ज़्यादा जानें. |
| ऐक्सेस:जानकारी | T-Access:Description | हर यूज़र इंटरफ़ेस (यूआई) एलिमेंट के बारे में बताएं. हालांकि, TextView को छोड़कर, contentDescription का इस्तेमाल करें. |
मुख्य सुविधाएं
आपके ऐप्लिकेशन में, फ़ंक्शन से जुड़ी ये सुविधाएं होनी चाहिए.
| ID | परीक्षण | ब्यौरा |
|---|---|---|
| ऑडियो | ||
| ऑडियो:Init | T-Audio:Init |
जब उपयोगकर्ता ऑडियो चलाना शुरू करता है, तो ऐप्लिकेशन को एक सेकंड के अंदर इनमें से कोई एक काम करना चाहिए:
|
| ऑडियो:फ़ोकस | T-Audio:Focus | ऑडियो चलना शुरू होने पर, ऐप्लिकेशन को ऑडियो फ़ोकस का अनुरोध करना चाहिए. साथ ही, ऑडियो चलना बंद होने पर, ऑडियो फ़ोकस को छोड़ देना चाहिए. |
| ऑडियो:इंटरप्ट | T-Audio:Interrupt | ऐप्लिकेशन को ऑडियो फ़ोकस के लिए, अन्य ऐप्लिकेशन के अनुरोधों को मैनेज करना चाहिए. उदाहरण के लिए, जब कोई दूसरा ऐप्लिकेशन बोलकर जानकारी देता है, तो कोई ऐप्लिकेशन कॉन्टेंट चलाने की आवाज़ कम कर सकता है. |
| ऑडियो:बैकग्राउंड | T-Audio:Background | ऐप्लिकेशन में बैकग्राउंड में वीडियो चलाने की सुविधा होनी चाहिए. |
| ऑडियो:सूचना | T-Audio:Notification | जब ऐप्लिकेशन बैकग्राउंड में ऑडियो चलाता है, तो उसे MediaStyle स्टाइल वाली सूचना बनानी चाहिए. |
| ऑडियो:फिर से शुरू करें | T-Audio:Resume | अगर ऐप्लिकेशन बैकग्राउंड में है और ऑडियो रुका हुआ है, तो ऐप्लिकेशन के फ़ोरग्राउंड में आने पर ऑडियो फिर से शुरू हो जाना चाहिए. इसके अलावा, ऐप्लिकेशन को उपयोगकर्ता को यह बताना चाहिए कि ऑडियो रुका हुआ है. |
| वीडियो | ||
| वीडियो:पीआईपी | T-Video:PiP | अगर ऐप्लिकेशन में वीडियो चलाने की सुविधा है, तो उसमें पिक्चर में पिक्चर मोड में वीडियो चलाने की सुविधा होनी चाहिए. |
| वीडियो:एन्कोडिंग | T-Video:Encoding | अगर ऐप्लिकेशन वीडियो को एन्कोड करता है, तो उसे HEVC वीडियो कंप्रेस करने के स्टैंडर्ड का इस्तेमाल करना चाहिए. |
| शेयर करें | ||
| Sharing:Sheet | T-Sharing:Sheet | कॉन्टेंट शेयर करते समय, ऐप्लिकेशन को Android Sharesheet का इस्तेमाल करना चाहिए. ऐप्लिकेशन ऐसे टारगेट का सुझाव दे सकता है जो कस्टम सलूशन के लिए उपलब्ध नहीं हैं. |
| बैकग्राउंड सेवाएं | ||
| बैकग्राउंड:सेवाएं | T-Background:Services |
ऐप्लिकेशन, बैकग्राउंड में बेवजह लंबी सेवाएं नहीं चलाता. उपयोगकर्ता के डिवाइस को बिना किसी रुकावट के चलाने के लिए. ध्यान दें: सिस्टम, बैकग्राउंड में चल रही सेवाओं पर कई पाबंदियां लगाता है. बैकग्राउंड सेवाओं का गलत इस्तेमाल करने के कुछ उदाहरण यहां दिए गए हैं:
ज़्यादा जानकारी के लिए, बैकग्राउंड टास्क की खास जानकारी देखें. |
परफ़ॉर्मेंस और स्थिरता
आपके ऐप्लिकेशन की परफ़ॉर्मेंस अच्छी होनी चाहिए. साथ ही, वह भरोसेमंद होना चाहिए, डिवाइस के साथ काम करना चाहिए, और रिस्पॉन्स देने में कम समय लेना चाहिए.
| ID | परीक्षण | ब्यौरा |
|---|---|---|
| परफ़ॉर्मेंस | ||
| परफ़ॉर्मेंस:स्टार्टअप | T- Performance:Startup | ऐप्लिकेशन जल्दी लोड हो जाता है. अगर ऐप्लिकेशन को लोड होने में दो सेकंड से ज़्यादा समय लगता है, तो उपयोगकर्ता को स्क्रीन पर फ़ीडबैक मिलता है. जैसे, प्रोग्रेस इंडिकेटर या इसी तरह का कोई अन्य संकेत. |
| परफ़ॉर्मेंस:एफ़पीएस | T-Performance:FPS | ऐप्लिकेशन, हर 16 (या इससे कम) मिलीसेकंड में फ़्रेम रेंडर करता है, ताकि कम से कम 60 फ़्रेम प्रति सेकंड दिखाए जा सकें. रेंडरिंग से जुड़ी समस्याओं के बारे में मदद पाने के लिए, रेंडरिंग में ज़्यादा समय लगना लेख पढ़ें. |
| परफ़ॉर्मेंस:स्ट्रिक्ट | T-Performance:Strict | StrictMode चालू होने पर (StrictMode टेस्टिंग सेक्शन देखें), ऐप्लिकेशन की जांच करते समय कोई भी लाल फ़्लैश (StrictMode से परफ़ॉर्मेंस की चेतावनियां) नहीं दिखती है. |
| ऐप्लिकेशन को क्रैश या फ़्रीज़ होने जैसी समस्याओं से बचाना | ||
| Stability:ANR | T-Stability:ANR | ऐप्लिकेशन क्रैश नहीं होता है. साथ ही, यूज़र इंटरफ़ेस (यूआई) थ्रेड को ब्लॉक नहीं करता है. इससे एएनआर (Android Not Responding) गड़बड़ियां होती हैं. स्थिरता से जुड़ी संभावित समस्याओं का पता लगाने के लिए, Google Play की प्री-लॉन्च रिपोर्ट का इस्तेमाल करें. तैनात करने के बाद, Google Play Console में Android की ज़रूरी जानकारी पेज पर नज़र रखें. |
| SDK टूल | ||
| SDK:Platform | T-SDK:Platform | ऐप्लिकेशन, Android प्लैटफ़ॉर्म के सार्वजनिक तौर पर उपलब्ध सबसे नए वर्शन पर बिना क्रैश हुए चलता है. साथ ही, इससे मुख्य फ़ंक्शन पर कोई बुरा असर नहीं पड़ता. |
| एसडीके:टारगेट | T-SDK:Latest | ऐप्लिकेशन, Android के नए एसडीके को टारगेट करता है. इससे Google Play की ज़रूरी शर्तों का पालन किया जा सकेगा. इसके लिए, ऐप्लिकेशन के मॉड्यूल build.gradle फ़ाइल में targetSdk वैल्यू सेट की जाती है. |
| SDK:Compile | T-SDK:Latest | ऐप्लिकेशन को Android के नए एसडीके की मदद से बनाया गया है. इसके लिए, ऐप्लिकेशन के मॉड्यूल की build.gradle फ़ाइल में compileSdk वैल्यू सेट की गई है. |
| SDK:3P | T-SDK:3P, T-SDK:Non |
इस्तेमाल किए गए Google या तीसरे पक्ष के सभी SDK टूल अप-टू-डेट हों. इन एसडीके में, ऐप्लिकेशन को क्रैश या फ़्रीज़ होने से बचाने, कंपैटिबिलिटी, या सुरक्षा से जुड़े किसी भी तरह के सुधार के बारे में उपयोगकर्ताओं को समय पर जानकारी मिलनी चाहिए. Google के SDK टूल के लिए, Google Play services के साथ काम करने वाले SDK टूल का इस्तेमाल करें. ये एसडीके, पुराने वर्शन के साथ काम करते हैं. साथ ही, इन्हें अपने-आप अपडेट मिलते हैं. इनसे आपके ऐप्लिकेशन पैकेज का साइज़ कम हो जाता है और डिवाइस पर मौजूद संसाधनों का बेहतर तरीके से इस्तेमाल किया जा सकता है. |
| SDK:Non | T-SDK:Non | ऐप्लिकेशन, गैर-एसडीके इंटरफ़ेस का इस्तेमाल नहीं करता हो. |
| SDK:Debug | T-SDK:Debug | प्रोडक्शन ऐप्लिकेशन में कोई भी डीबग लाइब्रेरी शामिल नहीं की गई है. ऐप्लिकेशन में शामिल की गई डीबग लाइब्रेरी की वजह से, परफ़ॉर्मेंस और सुरक्षा से जुड़ी समस्याएं हो सकती हैं. |
| बैटरी | ||
| Battery:Manage | T-Battery:Manage |
ऐप्लिकेशन, पावर मैनेजमेंट की सुविधाओं बैटरी बचाने (डोज़) और ऐप्लिकेशन स्टैंडबाय के साथ ठीक से काम करता हो. ऐप्लिकेशन, पावर मेंटेनेंस से जुड़ी पाबंदी से छूट पाने का अनुरोध कर सकते हैं. Doze और ऐप्लिकेशन स्टैंडबाय मोड के लिए ऑप्टिमाइज़ करना में, इस्तेमाल के अन्य उदाहरणों के लिए सहायता देखें. |
निजता और सुरक्षा
ऐप्लिकेशन, उपयोगकर्ता के डेटा और निजी जानकारी को सुरक्षित तरीके से मैनेज करता है. साथ ही, अनुमति के सही लेवल देता है.
Google Play Store पर पब्लिश किए गए ऐप्लिकेशन को, उपयोगकर्ता की निजता की सुरक्षा के लिए Google Play की उपयोगकर्ता के डेटा से जुड़ी नीतियों का भी पालन करना होगा.
| ID | परीक्षण | ब्यौरा |
|---|---|---|
| अनुमतियां | ||
| अनुमतियां:मिनट | T-Permissions:Min | ऐप्लिकेशन, इस्तेमाल के मौजूदा मामले के लिए सिर्फ़ ज़रूरी अनुमतियों का अनुरोध करता है. जगह की जानकारी जैसी कुछ अनुमतियों के लिए, ऐप्लिकेशन सटीक जानकारी के बजाय अनुमानित जानकारी का इस्तेमाल करता है. अनुमति के अनुरोधों को कम करना लेख पढ़ें. |
| अनुमतियां:संवेदनशील | T-Permissions:Sensitive |
ऐप्लिकेशन, संवेदनशील डेटा (जैसे, मैसेज (एसएमएस) या कॉल लॉग की अनुमति वाले ग्रुप या जगह की जानकारी) या पैसे चुकाकर इस्तेमाल की जाने वाली सेवाओं (जैसे, डायलर या मैसेज (एसएमएस)) को ऐक्सेस करने की अनुमति सिर्फ़ तब मांगता है, जब वह सीधे तौर पर ऐप्लिकेशन के मुख्य इस्तेमाल के मामलों से जुड़ी हो. इन अनुमतियों से जुड़े असर के बारे में, उपयोगकर्ता को साफ़ तौर पर बताया जाना चाहिए. इस आधार पर कि आपका ऐप्लिकेशन अनुमतियों का इस्तेमाल कैसे करता है, आपके ऐप्लिकेशन के इस्तेमाल के उदाहरण को पूरा करने का कोई और तरीका हो सकता है. इसके लिए, संवेदनशील जानकारी ऐक्सेस करने की ज़रूरत नहीं होगी. उदाहरण के लिए, किसी उपयोगकर्ता के संपर्कों से जुड़ी अनुमतियां मांगने के बजाय, ऐक्सेस का अनुरोध करने के लिए इंप्लिसिट इंटेंट का इस्तेमाल करें. |
| अनुमतियां:रनटाइम | T-Permissions:Runtime | ऐप्लिकेशन के चालू होने के दौरान नहीं, बल्कि जब किसी फ़ंक्शन का अनुरोध किया जाता है, तब ऐप्लिकेशन रनटाइम अनुमतियों का अनुरोध करता है. |
| अनुमतियां:जानकारी | T-Permissions:Explain | ऐप्लिकेशन में साफ़ तौर पर बताया गया हो कि अनुमतियों की ज़रूरत क्यों है. |
| अनुमतियां:कम करना | T-Permissions:Degrade | जब उपयोगकर्ता किसी अनुमति को अस्वीकार या रद्द करते हैं, तो ऐप्लिकेशन ग्रेसफ़ुली डिग्रेड हो जाता है. ऐप्लिकेशन को उपयोगकर्ता के ऐक्सेस को पूरी तरह से नहीं रोकना चाहिए. |
| डेटा और फ़ाइलें | ||
| डेटा:संवेदनशील | T-Data:Sensitive, T-Data:Handling |
सभी संवेदनशील डेटा को ऐप्लिकेशन के इंटरनल स्टोरेज में सेव किया जाता है. |
| डेटा:लॉग | T-Data:Log | सिस्टम लॉग या ऐप्लिकेशन के हिसाब से लॉग किए गए डेटा में, उपयोगकर्ता का कोई निजी या संवेदनशील डेटा शामिल नहीं होता. |
| डेटा:आईडी | T-Data:IDs | ऐप्लिकेशन, पहचान के मकसद से रीसेट नहीं किए जा सकने वाले किसी भी हार्डवेयर आईडी का इस्तेमाल नहीं करता है. जैसे, आईएमईआई. |
| पहचान | ||
| Identity:Hints | T-Identity:Hints | यह ऐप्लिकेशन, खाते के क्रेडेंशियल और अन्य संवेदनशील जानकारी अपने-आप भरने के लिए सुझाव देता है. जैसे, क्रेडिट कार्ड की जानकारी, घर का पता, और फ़ोन नंबर. |
| Identity:CredMan | T-Identity:CredMan | ऐप्लिकेशन, Android के लिए क्रेडेंशियल मैनेजर को इंटिग्रेट करता है. इससे साइन इन करने का बेहतर अनुभव मिलता है. साथ ही, पासकी, फ़ेडरेटेड आइडेंटिटी, और पासवर्ड के लिए एक ही प्लैटफ़ॉर्म मिलता है. |
| पहचान:बायो | T-Identity:Bio | ऐप्लिकेशन, वित्तीय लेन-देन या संवेदनशील जानकारी को सुरक्षित रखने के लिए, बायोमेट्रिक पुष्टि की सुविधा देता हो. जैसे, उपयोगकर्ता के ज़रूरी दस्तावेज़. |
| ऐप्लिकेशन कॉम्पोनेंट | ||
| Components:Export | T-Components:Export |
ऐप्लिकेशन, सभी गतिविधियों, सेवाओं, ब्रॉडकास्ट रिसीवर, और खास तौर पर कॉन्टेंट प्रोवाइडर के लिए, सिर्फ़ उन ऐप्लिकेशन कॉम्पोनेंट को एक्सपोर्ट किया जाता है जो दूसरे ऐप्लिकेशन के साथ डेटा शेयर करते हैं या जिन्हें दूसरे ऐप्लिकेशन से शुरू किया जाना चाहिए. |
| कॉम्पोनेंट:अनुमतियां | T-Components:Permissions |
सभी इंटेंट और ब्रॉडकास्ट के लिए, सबसे सही तरीके अपनाए जाते हैं:
|
| कॉम्पोनेंट:सुरक्षा | T-Components:Protection |
ऐप्लिकेशन के बीच कॉन्टेंट शेयर करने वाले सभी कॉम्पोनेंट, कस्टम अनुमतियों के लिए ऐप्लिकेशन को, इंस्टॉल किए गए पैकेज की सूची को ऐक्सेस करने पर निर्भर नहीं रहना चाहिए. |
| नेटवर्किंग | ||
| नेटवर्क:ट्रैफ़िक | T-Network:Traffic | पूरा नेटवर्क ट्रैफ़िक, एसएसएल पर भेजा जाता है. |
| Network:Config | T-Network:Config | ऐप्लिकेशन, नेटवर्क सुरक्षा कॉन्फ़िगरेशन का एलान करता है. |
| Network:Play | T-Network:Play | अगर ऐप्लिकेशन Google Play services का इस्तेमाल करता है, तो ऐप्लिकेशन शुरू होने पर, सुरक्षा सेवा देने वाली कंपनी की सेवा शुरू हो जाती है. |
| WebViews | ||
| WebViews:Config | T-WebViews:Config, T-WebViews:Nav |
स्थानीय कॉन्टेंट ऐक्सेस करने के लिए, setAllowUniversalAccessFromFileURLs() का इस्तेमाल न करें. इसके बजाय, WebViewAssetLoader का इस्तेमाल करें. |
| WebViews:JavaScript | T-WebViews:JavaScript, T-WebViews:Nav |
वेब व्यू में, गैर-भरोसेमंद कॉन्टेंट के साथ Android 6.0 (एपीआई लेवल 23 और इसके बाद के वर्शन) पर, इसके बजाय एचटीएमएल मैसेज चैनल का इस्तेमाल करें. |
| प्लान लागू करना | ||
| Execution:Bundles | T-Execution:Bundles |
ऐप्लिकेशन, ऐप्लिकेशन के APK से बाहर के कोड को डाइनैमिक तरीके से लोड नहीं करता है. Android ऐप्लिकेशन बंडल का इस्तेमाल करें. इनमें Play Feature Delivery और Play ऐसेट डिलीवरी शामिल हैं. अगस्त 2021 से, Google Play Store पर मौजूद सभी नए ऐप्लिकेशन के लिए, Android ऐप्लिकेशन बंडल का इस्तेमाल करना ज़रूरी है. |
| क्रिप्टोग्राफी | ||
| क्रिप्टो:एल्गोरिदम | T-Crypto:Algorithms | ऐप्लिकेशन, स्ट्रिंग, प्लैटफ़ॉर्म से मिले क्रिप्टोग्राफ़िक एल्गोरिदम, और रैंडम नंबर जनरेटर का इस्तेमाल करता है. साथ ही, ऐप्लिकेशन में कस्टम एल्गोरिदम लागू नहीं किए जाते. |
Google Play
अपने ऐप्लिकेशन को Google Play पर पब्लिश करने की सुविधा चालू करें.
| ID | परीक्षण | ब्यौरा | |
|---|---|---|---|
| नीतियां | |||
| Play:Policies | T-Play:नीतियां | ऐप्लिकेशन, Google Play डेवलपर कॉन्टेंट नीति की शर्तों का पूरी तरह से पालन करता हो. साथ ही, इसमें आपत्तिजनक कॉन्टेंट न हो और यह किसी दूसरे व्यक्ति या कंपनी की बौद्धिक संपत्ति या ब्रैंड का इस्तेमाल न करता हो. | |
| Play:Maturity | T-Play:नीतियां | ऐप्लिकेशन के मैच्योरिटी लेवल को कॉन्टेंट रेटिंग के दिशा-निर्देशों के मुताबिक सही तरीके से सेट किया गया हो. | |
| ऐप्लिकेशन की ज़्यादा जानकारी वाला पेज | |||
| Play:ग्राफ़िक्स | T-Play:Graphics, T-Play:Assets |
ऐप्लिकेशन के फ़ीचर ग्राफ़िक में, इस सहायता लेख में दिए गए दिशा-निर्देशों का पालन किया गया हो. पक्का करें कि:
|
|
| Play:NonAndroid | T-Play:Assets | ऐप्लिकेशन के स्क्रीनशॉट और वीडियो में, Android के अलावा किसी दूसरे डिवाइस को नहीं दिखाया गया है और न ही उसका रेफ़रंस दिया गया है. | |
| Play:गुमराह करने वाला | T-Play:Assets | ऐप्लिकेशन के स्क्रीनशॉट या वीडियो में, ऐप्लिकेशन के कॉन्टेंट और अनुभव को गुमराह करने वाले तरीके से नहीं दिखाया गया है. | |
| इस्तेमाल करने वाले के लिए सहायता | |||
| Play:Bugs | T-Play:नीतियां | अगर Google Play पेज के समीक्षाएं टैब में, उपयोगकर्ताओं की ओर से रिपोर्ट किए गए बग को दोहराया जा सकता है और वे कई अलग-अलग डिवाइसों पर दिखते हैं, तो उन्हें ठीक किया जाता है. अगर बग सिर्फ़ कुछ डिवाइसों पर दिखता है, तो भी आपको उसे ठीक करना चाहिए. ऐसा तब करना चाहिए, जब वे डिवाइस खास तौर पर लोकप्रिय हों या नए हों. | |
टेस्ट एनवायरमेंट
टेस्ट एनवायरमेंट को इस तरह सेट अप करें:
एम्युलेटर टेस्टिंग: Android Emulator, अलग-अलग Android वर्शन और स्क्रीन रिज़ॉल्यूशन पर अपने ऐप्लिकेशन की जांच करने का एक बेहतरीन तरीका है. अपने टारगेट किए गए उपयोगकर्ता आधार के लिए, सबसे सामान्य डिवाइसों और हार्डवेयर/सॉफ़्टवेयर के कॉम्बिनेशन को दिखाने के लिए, इम्यूलेट किए गए डिवाइस (एवीडी) सेट अप करें. इन एम्युलेटर का इस्तेमाल करके, अलग-अलग फ़ॉर्म फ़ैक्टर की जांच करें (कम से कम):
- फ़ोल्ड किए जा सकने वाले डिवाइस: 7.6 इंच का फ़ोल्ड-इन डिसप्ले, जिसमें आउटर डिसप्ले भी शामिल है. यह AVD मैनेजर में फ़ोन के तौर पर दिखता है
- टैबलेट: Pixel C 9.94" (2,560 पिक्सल x 1,800 पिक्सल)
- मोबाइल ऐप्लिकेशन की सूचनाओं की टेस्टिंग: मोबाइल डिवाइस / एम्युलेटर को Wear OS एम्युलेटर से जोड़ें: Wear OS राउंड 1.84"
हार्डवेयर डिवाइस: आपके टेस्ट एनवायरमेंट में, कुछ ऐसे हार्डवेयर डिवाइस शामिल होने चाहिए जो उपभोक्ताओं के लिए उपलब्ध मुख्य फ़ॉर्म फ़ैक्टर और हार्डवेयर/सॉफ़्टवेयर कॉम्बिनेशन को दिखाते हों. बाज़ार में उपलब्ध हर डिवाइस पर टेस्ट करने की ज़रूरत नहीं है. प्रतिनिधि डिवाइसों की कम संख्या पर फ़ोकस करें. इसके लिए, हर फ़ॉर्म फ़ैक्टर के लिए एक या दो डिवाइसों का इस्तेमाल करें.
डिवाइस टेस्ट लैब:; अलग-अलग तरह के डिवाइसों पर अपने ऐप्लिकेशन की जांच करने के लिए, तीसरे पक्ष की सेवाओं का भी इस्तेमाल किया जा सकता है. जैसे, Firebase टेस्ट लैब.
Android के नए वर्शन पर टेस्ट करें: आपको अपने टारगेट किए गए उपयोगकर्ताओं के लिए, Android के अलग-अलग वर्शन पर टेस्ट करना चाहिए. साथ ही, आपको हमेशा Android के नए वर्शन पर टेस्ट करना चाहिए. इससे यह पक्का किया जा सकेगा कि बदलावों की वजह से, ऐप्लिकेशन के काम करने के तरीके पर कोई बुरा असर न पड़े.
टेस्टिंग के बारे में ज़्यादा जानने के लिए, Android ऐप्लिकेशन की टेस्टिंग की बुनियादी बातें लेख पढ़ें. इसमें यूनिट टेस्टिंग, इंटिग्रेशन टेस्टिंग, और यूज़र इंटरफ़ेस (यूआई) टेस्टिंग के बारे में बताया गया है.
StrictMode
परफ़ॉर्मेंस की जांच करने के लिए, अपने ऐप्लिकेशन में StrictMode को चालू करें. StrictMode का इस्तेमाल करके, उन कार्रवाइयों का पता लगाएं जो परफ़ॉर्मेंस, नेटवर्क ऐक्सेस, और फ़ाइल पढ़ने और लिखने की प्रोसेस पर असर डाल सकती हैं. मुख्य थ्रेड और अन्य थ्रेड, दोनों पर संभावित रूप से समस्या पैदा करने वाली कार्रवाइयों का पता लगाएं.
StrictMode.ThreadPolicy.Builder का इस्तेमाल करके, हर थ्रेड के लिए निगरानी करने की नीति सेट अप करें. साथ ही, detectAll() का इस्तेमाल करके, ThreadPolicy में निगरानी करने की सुविधा चालू करें.
penaltyFlashScreen() का इस्तेमाल करके, ThreadPolicy के लिए नीति के उल्लंघनों की विज़ुअल सूचना चालू करें.
परीक्षण
ऐप्लिकेशन की क्वालिटी की बुनियादी जांचों से, आपको अपने ऐप्लिकेशन की बुनियादी क्वालिटी का आकलन करने में मदद मिलती है. जांचों को एक साथ किया जा सकता है या जांचों के ग्रुप को अपने टेस्टिंग प्लान में एक साथ इंटिग्रेट किया जा सकता है.
उपयोगकर्ता अनुभव
| ID | सुविधा | ब्यौरा |
|---|---|---|
| उपयोगिता | ||
| T-Usability:Core | उपयोगिता:UX |
ऐप्लिकेशन के सभी हिस्सों पर जाएं. जैसे, सभी स्क्रीन, डायलॉग, सेटिंग, और उपयोगकर्ता के सभी फ़्लो. यह तरीका अपनाएं:
|
| T-Usability:Switcher | उपयोगिता:स्विचर | हर ऐप्लिकेशन की स्क्रीन से, किसी दूसरे ऐप्लिकेशन पर स्विच करें. इसके बाद, हाल ही में इस्तेमाल किए गए ऐप्लिकेशन ऐप्लिकेशन स्विचर का इस्तेमाल करके, टेस्ट किए जा रहे ऐप्लिकेशन पर वापस आएं. |
| T-Usability:Sleep | इस्तेमाल करने की सुविधा:नींद | डिवाइस को स्लीप मोड में डालने के लिए, पावर बटन दबाएं. इसके बाद, स्क्रीन को चालू करने के लिए फिर से पावर बटन दबाएं. |
| T-Usability:Lock | उपयोगिता:लॉक करना | डिवाइस पर स्क्रीन लॉक सेट अप करें. डिवाइस को स्लीप मोड में ले जाने के लिए, पावर बटन दबाएं. इससे डिवाइस लॉक हो जाता है. इसके बाद, स्क्रीन को चालू करने और डिवाइस को अनलॉक करने के लिए, पावर बटन को फिर से दबाएं. |
| एसडी कार्ड | ||
| T-SD-Card | उपयोगिता:UX |
डिवाइस के एसडी कार्ड पर इंस्टॉल किए गए ऐप्लिकेशन के साथ, मुख्य फ़ंक्शन की जांच करें. ऐसा तब करें, जब ऐप्लिकेशन इस इंस्टॉलेशन के तरीके के साथ काम करता हो. ऐप्लिकेशन को एसडी कार्ड में ले जाने के लिए, ऐप्लिकेशन की सेटिंग देखें. |
| उपयोगकर्ता इंटरफ़ेस | ||
| T-UI:Transitions | UI:Parity, UI:Fullscreen, UI:Transitions |
हर ऐप्लिकेशन की स्क्रीन पर, डिवाइस को लैंडस्केप और पोर्ट्रेट ओरिएंटेशन में कम से कम तीन बार घुमाएं. साथ ही, उसे फ़ोल्ड और अनफ़ोल्ड करें. पुष्टि करें कि ऐप्लिकेशन ये काम करता हो:
|
| विज़ुअल क्वालिटी | ||
| T-Visual:Display | विज़ुअल:डिसप्ले | अपने ऐप्लिकेशन की सभी सुविधाओं का इस्तेमाल करें. पुष्टि करें कि सभी विज़ुअल, जैसे कि ग्राफ़िक, टेक्स्ट, इमेज, और अन्य यूज़र इंटरफ़ेस एलिमेंट में कोई गड़बड़ी, धुंधलापन या पिक्सलेटिंग न हो. |
| T-Visual:Readability | विज़ुअल:पढ़ने में आसानी |
ऐप्लिकेशन में मौजूद सभी टेक्स्ट ब्लॉक की समीक्षा करें. पुष्टि करें कि टेक्स्ट और टेक्स्ट ब्लॉक की लाइन की लंबाई, पढ़ने में आसानी के लिए 45 से 75 वर्णों (स्पेस शामिल हैं) तक सीमित हो. यहां दी गई जानकारी की पुष्टि करें:
|
| T-Visual:Themes | विज़ुअल:थीम | पुष्टि करें कि हल्के और गहरे रंग वाली थीम में पूरा टेक्स्ट पढ़ा जा सकता हो. पुष्टि करें कि सभी विज़ुअल, लाइट और डार्क थीम में साफ़ तौर पर दिख रहे हों और देखने में अच्छे लग रहे हों. |
| नेविगेशन | ||
| T-Nav:Back | Nav:BackButton, Nav:BackGesture |
ऐप्लिकेशन के सभी हिस्सों पर जाएं. जैसे, सभी स्क्रीन, डायलॉग, सेटिंग, और उपयोगकर्ता के सभी फ़्लो. हर ऐप्लिकेशन की स्क्रीन पर, वापस जाएं बटन दबाएं या वापस जाने के लिए स्वाइप करने के जेस्चर का इस्तेमाल करें. ऐप्लिकेशन को पिछली या होम स्क्रीन पर ले जाना चाहिए. |
| T-Nav:State | Nav:State | हर ऐप्लिकेशन की स्क्रीन पर, डिवाइस के होम बटन को दबाएं या जेस्चर नेविगेशन में ऊपर की ओर स्वाइप करें. इसके बाद, सभी ऐप्लिकेशन स्क्रीन से ऐप्लिकेशन को फिर से लॉन्च करें. |
| सूचनाएं | ||
| T-Notify:Info | Notify:Info, Notify:Messaging |
सूचना पैनल में, ऐप्लिकेशन की ओर से दिखाई जा सकने वाली सभी तरह की सूचनाओं को ट्रिगर करें और देखें. सूचनाओं को बड़ा करें. यह सुविधा Android 4.1 और इसके बाद के वर्शन पर काम करती है. इसके बाद, उपलब्ध सभी कार्रवाइयों पर टैप करें. |
| सुलभता | ||
| T-Access:Targets | ऐक्सेस:टारगेट | पुष्टि करें कि सभी डिसप्ले साइज़ और कॉन्फ़िगरेशन के लिए, टच टारगेट का साइज़ और पोज़िशन एक जैसी हो और उसे ऐक्सेस किया जा सके. सुलभता के बारे में जानकारी के लिए, Accessibility Scanner देखें. |
| T-Access:Contrast | ऐक्सेस:कंट्रास्ट | सभी विज़ुअल एलिमेंट के कंट्रास्ट की पुष्टि करें. |
| T-Access:Description | Access:Description | पुष्टि करें कि TextView के अलावा, सभी यूज़र इंटरफ़ेस (यूआई) एलिमेंट में कॉन्टेंट के ब्यौरे मौजूद हों. |
मुख्य सुविधाएं
| ID | सुविधा | ब्यौरा |
|---|---|---|
| ऑडियो | ||
| T-Audio:Init | Audio:Init | ऑडियो चलाना शुरू करें. पुष्टि करें कि ऐप्लिकेशन, एक सेकंड के अंदर ऑडियो चलाना शुरू कर देता है या यह विज़ुअल इंडिकेटर दिखाता है कि ऑडियो डेटा को चलाने के लिए तैयार किया जा रहा है. |
| T-Audio:Focus | Audio:Focus | ऑडियो चलाना शुरू करें. ऐप्लिकेशन को ऑडियो फ़ोकस का अनुरोध करना चाहिए. ऑडियो चलना बंद होने पर, ऐप्लिकेशन को ऑडियो फ़ोकस छोड़ देना चाहिए. Android 12 (एपीआई लेवल 31) और इसके बाद के वर्शन को टारगेट करने वाले ऐप्लिकेशन के लिए, यह प्रोसेस अपने-आप होती है. |
| T-Audio:Interrupt | ऑडियो:इंटरप्ट करें | ऑडियो चलाना शुरू करें. किसी दूसरे ऐप्लिकेशन में ऑडियो प्लेबैक शुरू करें. आपके ऐप्लिकेशन को ऑडियो फ़ोकस में बदलाव का जवाब देना चाहिए. साथ ही, ऑडियो प्लेबैक बंद कर देना चाहिए या प्लेबैक का वॉल्यूम कम कर देना चाहिए. |
| T-Audio:Background | ऑडियो:बैकग्राउंड | ऑडियो चलाना शुरू करें. फ़ोरग्राउंड ऐप्लिकेशन के तौर पर, किसी दूसरे नॉन-ऑडियो ऐप्लिकेशन के साथ इंटरैक्ट करें. ऐप्लिकेशन को बैकग्राउंड में ऑडियो चलाना जारी रखना चाहिए. |
| T-Audio:Notification | Audio:Notification | ऑडियो चलाना शुरू करें. फ़ोरग्राउंड ऐप्लिकेशन के तौर पर, किसी दूसरे नॉन-ऑडियो ऐप्लिकेशन के साथ इंटरैक्ट करें. पुष्टि करें कि आपका ऐप्लिकेशन बैकग्राउंड में ऑडियो चला रहा हो और उसने MediaStyle स्टाइल वाली सूचना बनाई हो. मीडिया कंट्रोल के साथ मिलकर काम करना लेख पढ़ें. |
| T-Audio:Resume | ऑडियो:फिर से शुरू करें | ऑडियो चलाना शुरू करें. फ़ोरग्राउंड ऐप्लिकेशन के तौर पर, किसी दूसरे नॉन-ऑडियो ऐप्लिकेशन के साथ इंटरैक्ट करें. अपने ऐप्लिकेशन के साथ इंटरैक्ट करके, उसे सबसे ऊपर दिखने वाला ऐप्लिकेशन बनाएं. ऑडियो फिर से शुरू होना चाहिए या वॉल्यूम पहले जैसा होना चाहिए. इसके अलावा, ऐप्लिकेशन को उपयोगकर्ता को यह बताना चाहिए कि वीडियो चलाने की सुविधा रोक दी गई है. |
| T-Video:PiP | वीडियो:PiP | ऐप्लिकेशन में पिक्चर में पिक्चर मोड में वीडियो चलाने की सुविधा चालू करें. |
| T-Video:Encoding | वीडियो:एन्कोडिंग | पुष्टि करें कि ऐप्लिकेशन, HEVC वीडियो कंप्रेशन स्टैंडर्ड का इस्तेमाल करके वीडियो को कोड करता है. |
| शेयर करें | ||
| शेयर करना:शीट | कोई इंटेंट बनाएं और इंटेंट को आर्ग्युमेंट के तौर पर इस्तेमाल करके, startActivity() को कॉल करके कोई गतिविधि शुरू करें. Android की शेयरशीट का इस्तेमाल करना लेख पढ़ें. आपके ऐप्लिकेशन में Android की शेयरशीट दिखनी चाहिए. |
|
| बैकग्राउंड सेवाएं | ||
| CR-6 | बैकग्राउंड:सेवाएं | अपने ऐप्लिकेशन की सभी मुख्य सुविधाओं का इस्तेमाल करें. पुष्टि करें कि बैकग्राउंड में लंबे समय तक चलने वाली कोई सेवा शुरू न की गई हो. अपने ऐप्लिकेशन को बैकग्राउंड में भेजने के लिए, किसी दूसरे ऐप्लिकेशन पर स्विच करें. सेटिंग पर जाएं और देखें कि बैकग्राउंड में कोई सेवा चल रही है या नहीं. Android 4.0 और इसके बाद के वर्शन वाले डिवाइसों पर, ऐप्लिकेशन स्क्रीन पर जाएं. इसके बाद, चल रहे हैं टैब में जाकर ऐप्लिकेशन ढूंढें. |
परफ़ॉर्मेंस और स्थिरता
| ID | सुविधा | ब्यौरा |
|---|---|---|
| परफ़ॉर्मेंस | ||
| T- Performance:Startup | परफ़ॉर्मेंस:स्टार्टअप | अपना ऐप्लिकेशन शुरू करें. पुष्टि करें कि ऐप्लिकेशन तेज़ी से लोड होता हो. अगर ऐप्लिकेशन को लोड होने में दो सेकंड से ज़्यादा समय लगता है, तो प्रोग्रेस इंडिकेटर या इसी तरह का कोई अन्य संकेत दिखता हो. |
| T-Performance:FPS | Performance:FPS | अपने ऐप्लिकेशन की सभी मुख्य सुविधाओं का इस्तेमाल करें. पुष्टि करें कि ऐप्लिकेशन, हर सेकंड कम से कम 60 फ़्रेम रेंडर करता हो. अपने ऐप्लिकेशन की जांच करने के लिए, प्रोफ़ाइल एचडब्ल्यूयूआई रेंडरिंग विकल्प का इस्तेमाल करें. |
| T-Performance:Strict | परफ़ॉर्मेंस:सख्त |
अपने ऐप्लिकेशन में गारबेज कलेक्शन और उपयोगकर्ता अनुभव पर इसके असर पर ध्यान दें. |
| ऐप्लिकेशन को क्रैश या फ़्रीज़ होने जैसी समस्याओं से बचाना | ||
| T-Stability:ANR | स्थिरता:एएनआर | अपने ऐप्लिकेशन की सभी मुख्य सुविधाओं का इस्तेमाल करें. पुष्टि करें कि ऐप्लिकेशन क्रैश न हो या यूज़र इंटरफ़ेस (यूआई) थ्रेड को ब्लॉक न करे. ऐसा होने पर, एएनआर (Android जवाब नहीं दे रहा है) गड़बड़ियां होती हैं. Google Play की प्री-लॉन्च रिपोर्ट देखें, ताकि ऐप्लिकेशन के स्टेबल न होने से जुड़ी संभावित समस्याओं का पता लगाया जा सके. |
| SDK टूल | ||
| T-SDK:Platform | SDK:Platform | अपने ऐप्लिकेशन को Android प्लैटफ़ॉर्म के नए पब्लिक वर्शन पर चलाएं. सभी मुख्य सुविधाओं का इस्तेमाल करें. पुष्टि करें कि ऐप्लिकेशन क्रैश न होता हो और मुख्य फ़ंक्शन में कोई गड़बड़ी न हो. |
| T-SDK:Latest | SDK:Target, SDK:Compile |
Android मेनिफ़ेस्ट फ़ाइल और बिल्ड कॉन्फ़िगरेशन की समीक्षा करें. इससे यह पक्का किया जा सकेगा कि ऐप्लिकेशन को एसडीके के उपलब्ध सबसे नए वर्शन (targetSdk और compileSdk) के हिसाब से बनाया गया है. |
| T-SDK:3P | SDK:3P | अपने ऐप्लिकेशन की build.gradle फ़ाइल में जाकर, पुरानी डिपेंडेंसी देखें. |
| T-SDK:Non | SDK:Non | गैर-एसडीके इंटरफ़ेस के इस्तेमाल का पता लगाने के लिए, Android Studio के लिंट टूल का इस्तेमाल करें. टेस्टिंग के अन्य तरीकों के लिए, गैर-एसडीके इंटरफ़ेस पर पाबंदियां देखें. |
| T-SDK:Debug | SDK:Debug | अपने ऐप्लिकेशन की build.gradle फ़ाइल की समीक्षा करें, ताकि यह पता चल सके कि उसमें कोई डीबग लाइब्रेरी शामिल है या नहीं. |
| बैटरी | ||
| T-Battery:Manage | Battery:Manage |
डोज़ और ऐप्लिकेशन स्टैंडबाय मोड में, ऐप्लिकेशन की सभी मुख्य सुविधाओं का इस्तेमाल करें. पुष्टि करें कि Doze मेंटेनेंस विंडो में और ऐप्लिकेशन के App Standby मोड से बाहर निकलने पर, अलार्म, टाइमर, सूचनाएं, और सिंक करने की सुविधा ठीक से काम करती हो. ADB कमांड का इस्तेमाल करके, बैटरी बचाने (डोज़) और ऐप्लिकेशन स्टैंडबाय की सुविधा की जांच करें. ज़रूरी शर्तों और दिशा-निर्देशों के लिए, बैटरी बचाने (डोज़) और ऐप्लिकेशन स्टैंडबाय की सुविधा की जांच करना लेख पढ़ें. बैटरी ज़्यादा खर्च होने की समस्या का पता लगाने के लिए, Android Studio Power Profiler या Battery Historian टूल का इस्तेमाल करें. साथ ही, बैकग्राउंड में काम करने वाले ऐप्लिकेशन की जानकारी भी देखें. |
निजता और सुरक्षा
| ID | सुविधा | ब्यौरा |
|---|---|---|
| अनुमतियां | ||
| T-Permissions:Min | Permissions:Min | मेनिफ़ेस्ट फ़ाइल में, रनटाइम के दौरान, और डिवाइस पर ऐप्लिकेशन की सेटिंग (सेटिंग > ऐप्लिकेशन की जानकारी) में जाकर, अपने ऐप्लिकेशन के लिए ज़रूरी सभी अनुमतियों की समीक्षा करें. |
| T-Permissions:Sensitive | Permissions:Sensitive | अपने ऐप्लिकेशन की उन सुविधाओं का इस्तेमाल करें जिनके लिए अनुमतियां मांगी जाती हैं. पुष्टि करें कि ऐप्लिकेशन, संवेदनशील डेटा या सेवाओं को ऐक्सेस करने की अनुमति सिर्फ़ ऐप्लिकेशन के मुख्य इस्तेमाल के मामलों के लिए मांगता है. पुष्टि करें कि उपयोगकर्ता को संवेदनशील डेटा और सेवाओं को अनुमति देने के नतीजों के बारे में साफ़ तौर पर बताया गया हो. |
| T-Permissions:Runtime | अनुमतियां:रनटाइम | अपने ऐप्लिकेशन की उन सभी सुविधाओं का इस्तेमाल करें जिनके लिए अनुमतियां ज़रूरी हैं. पुष्टि करें कि अनुमतियों का अनुरोध देर से किया गया हो. इसका मतलब है कि ऐप्लिकेशन के स्टार्टअप के दौरान नहीं, बल्कि सिर्फ़ तब किया गया हो, जब सुविधाओं को ऐक्सेस किया गया हो. |
| T-Permissions:Explain | अनुमतियां:जानकारी दें | अपने ऐप्लिकेशन की उन सभी सुविधाओं का इस्तेमाल करें जिनके लिए अनुमतियां ज़रूरी हैं. पुष्टि करें कि ऐप्लिकेशन में, उपयोगकर्ता को यह बताया गया हो कि अनुमतियों की ज़रूरत क्यों है. |
| T-Permissions:Degrade | Permissions:Degrade | अपने ऐप्लिकेशन की उन सभी सुविधाओं का इस्तेमाल करें जिनके लिए अनुमतियां ज़रूरी हैं. अनुमतियां अस्वीकार करें या रद्द करें. पुष्टि करें कि ऐप्लिकेशन में इस्तेमाल का कोई दूसरा तरीका उपलब्ध है और वह काम करता है. |
| डेटा और फ़ाइलें | ||
| T-Data:Sensitive | Data:Sensitive | इंटरनल स्टोरेज में सेव किया गया सारा डेटा देखें. पुष्टि करें कि बाहरी तौर पर सेव किया गया डेटा संवेदनशील नहीं है. |
| T-Data:Handling | Data:Sensitive | देखें कि बाहरी स्टोरेज से लोड किए गए डेटा को कैसे मैनेज और प्रोसेस किया जाता है. |
| T-Data:Log | डेटा:लॉग | डिवाइस के लॉग की निगरानी करते समय, ऐप्लिकेशन की सभी मुख्य सुविधाओं का इस्तेमाल करें. पुष्टि करें कि उपयोगकर्ता की कोई भी निजी जानकारी लॉग न की गई हो. |
| T-Data:IDs | डेटा:आईडी | ऐप्लिकेशन की सभी मुख्य सुविधाओं का इस्तेमाल करें. पुष्टि करें कि ऐप्लिकेशन, पहचान के मकसद से किसी भी हार्डवेयर आईडी का इस्तेमाल नहीं करता है. जैसे, आईएमईआई. |
| पहचान | ||
| T-Identity:Hints | Identity:Hints | ऐप्लिकेशन की उन सभी सुविधाओं का इस्तेमाल करें जिनके लिए उपयोगकर्ता के इनपुट की ज़रूरत होती है. पुष्टि करें कि ऐप्लिकेशन, खाता क्रेडेंशियल और अन्य संवेदनशील जानकारी जैसे डेटा के लिए, इनपुट फ़ील्ड को अपने-आप भरने के लिए सुझाव देता हो. |
| T-Identity:CredMan | Identity:CredMan | अपने ऐप्लिकेशन में साइन इन करें. पुष्टि करें कि ऐप्लिकेशन में Credential Manager for Android इंटिग्रेट किया गया हो, ताकि साइन इन करने के लिए पासकी, फ़ेडरेटेड आइडेंटिटी, और पासवर्ड का इस्तेमाल किया जा सके. |
| T-Identity:Bio | पहचान:बायो | ऐप्लिकेशन की उन सभी सुविधाओं का इस्तेमाल करें जिनके लिए पुष्टि करना ज़रूरी है. पुष्टि करें कि ऐप्लिकेशन, वित्तीय लेन-देन या संवेदनशील जानकारी को सुरक्षित रखता हो. जैसे, उपयोगकर्ता के ज़रूरी दस्तावेज़ों को बायोमेट्रिक पुष्टि की मदद से सुरक्षित रखना. |
| ऐप्लिकेशन कॉम्पोनेंट | ||
| T-Components:Export | कॉम्पोनेंट:एक्सपोर्ट करें | Android मेनिफ़ेस्ट फ़ाइल में तय किए गए सभी ऐप्लिकेशन कॉम्पोनेंट की एक्सपोर्ट स्थिति की समीक्षा करें. एक्सपोर्ट की गई प्रॉपर्टी को सभी कॉम्पोनेंट के लिए साफ़ तौर पर सेट किया जाना चाहिए. |
| T-Components:Permissions | कॉम्पोनेंट:अनुमतियां | मेनिफ़ेस्ट फ़ाइल में, रनटाइम के दौरान, और डिवाइस पर ऐप्लिकेशन की सेटिंग (सेटिंग > ऐप्लिकेशन की जानकारी) में जाकर, अपने ऐप्लिकेशन के लिए ज़रूरी सभी अनुमतियों की समीक्षा करें. |
| T-Components:Protection | कॉम्पोनेंट:सुरक्षा | Android मेनिफ़ेस्ट फ़ाइल में तय किए गए सभी कॉन्टेंट प्रोवाइडर की समीक्षा करें. पक्का करें कि हर सेवा देने वाली कंपनी के पास सही protectionLevel हो. |
| नेटवर्किंग | ||
| T-Network:Traffic | Network:Traffic | ऐसा नेटवर्क सुरक्षा कॉन्फ़िगरेशन सेट करें जो cleartext ट्रैफ़िक को बंद करता हो. इसके बाद, ऐप्लिकेशन की जांच करें. |
| T-Network:Config | Network:Config | ऐप्लिकेशन के नेटवर्क सुरक्षा कॉन्फ़िगरेशन की समीक्षा करें. पुष्टि करें कि कॉन्फ़िगरेशन पर कोई भी लिंट चेक फ़ेल न हो. |
| T-Network:Play | नेटवर्क:Play | पुष्टि करें कि Google Play services के लिए, ऐप्लिकेशन के शुरू होने पर सुरक्षा सेवा देने वाली कंपनी को शुरू किया गया हो. |
| WebViews | ||
| T-WebViews:Config | WebViews:Config | ऐप्लिकेशन के नेटवर्क सुरक्षा कॉन्फ़िगरेशन की समीक्षा करें. पुष्टि करें कि कॉन्फ़िगरेशन पर कोई भी लिंट चेक फ़ेल न हो. |
| T-WebViews:JavaScript | WebViews:JavaScript | हर WebView के लिए, ऐसे पेज पर जाएं जिसके लिए JavaScript की ज़रूरत होती है. |
| T-WebViews:Nav | WebViews:Config, WebViews:JavaScript |
हर वेबव्यू में, उन साइटों और कॉन्टेंट पर जाने की कोशिश करें जिन्हें आपका ऐप्लिकेशन सीधे तौर पर लोड नहीं करता है. |
| प्लान लागू करना | ||
| T-Execution:Bundles | Execution:Bundles | पुष्टि करें कि ऐप्लिकेशन, Android ऐप्लिकेशन बंडल का इस्तेमाल करता हो. साथ ही, वह ऐप्लिकेशन के APK के बाहर से कोड को डाइनैमिक तरीके से लोड न करता हो. |
| क्रिप्टोग्राफी | ||
| T-Crypto:Algorithms | क्रिप्टो:एल्गोरिदम | पुष्टि करें कि ऐप्लिकेशन, प्लैटफ़ॉर्म पर उपलब्ध मज़बूत क्रिप्टोग्राफ़िक एल्गोरिदम और रैंडम नंबर जनरेटर का इस्तेमाल करता हो. यह भी पुष्टि करें कि ऐप्लिकेशन में कस्टम एल्गोरिदम लागू न किए गए हों. |
Google Play
| ID | सुविधा | ब्यौरा |
|---|---|---|
| नीतियां | ||
| T-Play:Policies | Play:नीतियां, Play:उम्र के हिसाब से कॉन्टेंट, Play:बग |
अपनी डेवलपर प्रोफ़ाइल, ऐप्लिकेशन की जानकारी, स्क्रीनशॉट, फ़ीचर ग्राफ़िक, कॉन्टेंट रेटिंग, और उपयोगकर्ता के सुझाव या राय देखने के लिए, Google Play कंसोल में साइन इन करें. |
| ऐप्लिकेशन की ज़्यादा जानकारी वाला पेज | ||
| T-Play:Graphics | Play:Graphics | अपने फ़ीचर ग्राफ़िक और स्क्रीनशॉट डाउनलोड करें. इसके बाद, उन्हें उन डिवाइसों और फ़ॉर्म फ़ैक्टर के डिसप्ले साइज़ के हिसाब से छोटा करें जिन्हें आपने टारगेट किया है. |
| T-Play:Assets | Play:Graphics, Play:NonAndroid, Play:Misleading |
ऐप्लिकेशन या एक्सपैंशन फ़ाइल डाउनलोड में पैकेज की गई सभी ग्राफ़िकल ऐसेट, मीडिया, टेक्स्ट, कोड लाइब्रेरी, और अन्य कॉन्टेंट की समीक्षा करें. |
संग्रहित करें
ऐप्लिकेशन की क्वालिटी से जुड़े मुख्य दिशा-निर्देशों के पिछले वर्शन: