ऐप्लिकेशन की क्वालिटी के लिए मुख्य दिशा-निर्देश

ऐप्लिकेशन की क्वालिटी को बेहतर बनाने के लिए, ऐप्लिकेशन की क्वालिटी के लिए बुनियादी दिशा-निर्देशों का पालन करें.

इन दिशा-निर्देशों में, ऐप्लिकेशन की क्वालिटी के लिए ज़रूरी शर्तें बताई गई हैं.

ऐप्लिकेशन की क्वालिटी को ज़रूरत के हिसाब से अडजस्ट करने की सुविधा

Android ऐप्लिकेशन, कई तरह के डिवाइसों पर काम करते हैं. जैसे, छोटे फ़ोन, टैबलेट, फ़ोल्ड किए जा सकने वाले डिवाइस, डेस्कटॉप, कनेक्टेड डिसप्ले, कार इंफ़ोटेनमेंट सिस्टम, टीवी, और एक्सआर. स्प्लिट‑स्क्रीन और डेस्कटॉप विंडोविंग जैसे विंडोविंग मोड की मदद से, ऐप्लिकेशन को स्क्रीन के साइज़ बदलने वाले हिस्सों में चलाया जा सकता है.

ऐप्लिकेशन की क्वालिटी को अडैप्टिव बनाने से जुड़े दिशा-निर्देशों का पालन करें. साथ ही, ऐप्लिकेशन की क्वालिटी से जुड़े मुख्य दिशा-निर्देशों का भी पालन करें. इससे:

  • सभी फ़ॉर्म फ़ैक्टर और डिसप्ले साइज़ के लिए ऑप्टिमाइज़ किए गए ऐप्लिकेशन बनाना
  • Google Play की लिस्टिंग और खोज के नतीजों में, अपने ऐप्लिकेशन को बेहतर रैंकिंग पाना
  • ज़्यादा उपयोगकर्ताओं को हासिल करना और उन्हें बनाए रखना

दिशा-निर्देश

यहां दिए गए मुख्य दिशा-निर्देशों से, आपको अच्छी क्वालिटी वाला बुनियादी ऐप्लिकेशन बनाने में मदद मिलती है.

उपयोगकर्ता अनुभव

स्टैंडर्ड Android विज़ुअल डिज़ाइन और इंटरैक्शन पैटर्न से, लोगों को एक जैसा और आसान अनुभव मिलता है.

जहां भी हो सके, Android प्लैटफ़ॉर्म के कॉम्पोनेंट की जगह, अपने ऐप्लिकेशन का यूज़र इंटरफ़ेस बनाने के लिए मटीरियल डिज़ाइन कॉम्पोनेंट का इस्तेमाल करें. मटीरियल डिज़ाइन, Android को मॉडर्न लुक और फ़ील देता है. साथ ही, यह Android के सभी वर्शन में यूज़र इंटरफ़ेस (यूआई) को एक जैसा रखता है.

उपयोगिता

ID परीक्षण ब्यौरा
Consistent_UX T-Consistent_UX,
T-SD_Card
ऐप्लिकेशन, सभी डिवाइसों पर इस्तेमाल के सभी उदाहरणों के लिए, उपयोगकर्ताओं को एक जैसा अनुभव देता है.
App_Switcher T-App_Switcher,
T-SD_Card
जब फ़ोकस किसी दूसरे ऐप्लिकेशन पर स्विच होता है, तब ऐप्लिकेशन बैकग्राउंड में चला जाता है. हाल ही के ऐप्लिकेशन ऐप्लिकेशन स्विचर से फिर से चालू करने पर, ऐप्लिकेशन फ़ोरग्राउंड में वापस आ जाता है.
Sleep_Resume T-Sleep_Resume,
T-SD_Card
जब ऐप्लिकेशन फ़ोरग्राउंड में होता है, तब डिवाइस के स्लीप मोड में जाने पर यह रुक जाता है. डिवाइस के स्लीप मोड से बाहर आने पर, यह फिर से शुरू हो जाता है.
Lock_Resume T-Lock_Resume,
T-SD_Card
जब ऐप्लिकेशन फ़ोरग्राउंड में होता है, तब डिवाइस लॉक होने पर यह रुक जाता है और डिवाइस अनलॉक होने पर फिर से शुरू हो जाता है.

उपयोगकर्ता इंटरफ़ेस

ID परीक्षण ब्यौरा
Display_State_Parity T-Orientation_Transitions

डिसप्ले ओरिएंटेशन और फ़ोल्ड स्टेट, एक जैसी सुविधाएं और कार्रवाइयां उपलब्ध कराते हैं. साथ ही, दोनों में एक जैसी सुविधाएं होती हैं.

Fullscreen_Display T-Orientation_Transitions

ऐप्लिकेशन, दोनों ओरिएंटेशन में ऐप्लिकेशन विंडो को भरता है. साथ ही, कॉन्फ़िगरेशन में बदलाव की वजह से लेटरबॉक्स नहीं होता. इसमें डिवाइस को फ़ोल्ड और अनफ़ोल्ड करना भी शामिल है.

स्क्रीन के डाइमेंशन में मामूली अंतर को ठीक करने के लिए, लेटरबॉक्सिंग का इस्तेमाल किया जा सकता है.

Orientation_Transitions T-Orientation_Transitions ऐप्लिकेशन, डिसप्ले ओरिएंटेशन और डिवाइस को फ़ोल्ड और अनफ़ोल्ड करने के बीच तेज़ी से ट्रांज़िशन करता है. इस दौरान, डिसप्ले रेंडरिंग से जुड़ी कोई समस्या नहीं आती और न ही ऐप्लिकेशन की स्थिति में कोई बदलाव होता है.

विज़ुअल क्वालिटी

ID परीक्षण ब्यौरा
Graphic_Quality T-Graphic_Quality

ऐप्लिकेशन में ग्राफ़िक्स, टेक्स्ट, इमेज, और अन्य यूज़र इंटरफ़ेस (यूआई) एलिमेंट, बिना किसी गड़बड़ी, धुंधलेपन या पिक्सलेशन के दिखते हों.

  • ऐप्लिकेशन, जहां भी हो सके वहां वेक्टर ड्रॉएबल का इस्तेमाल करता है
  • ऐप्लिकेशन, टारगेट की गई सभी स्क्रीन साइज़ और फ़ॉर्म फ़ैक्टर के लिए अच्छी क्वालिटी के ग्राफ़िक इस्तेमाल करता हो
  • मेन्यू, बटन, और अन्य यूज़र इंटरफ़ेस (यूआई) एलिमेंट के किनारों पर कोई एलियासिंग नहीं है
Line_Length T-Line_Length ऐप्लिकेशन में, टेक्स्ट और टेक्स्ट ब्लॉक को पढ़ने में आसानी होती है. इसके लिए, ऐप्लिकेशन में इस्तेमाल की जा सकने वाली हर भाषा के लिए, लाइन की लंबाई 45 से 75 वर्णों (स्पेस शामिल हैं) तक सीमित रखी जाती है.
Theme_Support T-Theme_Support ऐप्लिकेशन का कॉन्टेंट और ऐप्लिकेशन से ऐक्सेस किया गया सभी वेब कॉन्टेंट, हल्के और गहरे रंग की थीम, दोनों के साथ काम करता हो.
ID परीक्षण ब्यौरा
Back_Button_Nav T-Back_Nav ऐप्लिकेशन में बैक बटन नेविगेशन की सुविधा काम करती हो. साथ ही, ऐप्लिकेशन में स्क्रीन पर दिखने वाले बैक बटन के लिए, कस्टम प्रॉम्प्ट का इस्तेमाल न किया गया हो.
Back_Gesture_Nav T-Back_Nav ऐप्लिकेशन में, वापस जाने और होम स्क्रीन पर जाने के लिए हाथ के जेस्चर (स्पर्श) वाले नेविगेशन की सुविधा काम करती हो.
State_Preservation T-State_Preservation,
T-Back_Nav

फ़ोरग्राउंड से बाहर आने पर, ऐप्लिकेशन लोगों या ऐप्लिकेशन की मौजूदा स्थिति को सेव करके रखता है. साथ ही, यह ऐप्लिकेशन पर वापस जाने और इस पर स्थितियों में होने वाले अन्य बदलावों की वजह से डेटा को मिटने से बचाता है.

फ़ोरग्राउंड पर वापस आने पर, ऐप्लिकेशन सेव की गई स्थिति और स्थिति के आधार पर किए जाने वाले सभी लेन-देन को वापस ले आता है. उदाहरण के लिए, बदले जा सकने वाले फ़ील्ड, गेम की प्रोग्रेस, मेन्यू, वीडियो, और ऐप्लिकेशन के अन्य सेक्शन में बदलाव.

  • हाल ही में इस्तेमाल किए गए ऐप्लिकेशन पर ले जाने वाले स्विचर से ऐप्लिकेशन को फिर से शुरू करने पर, ऐप्लिकेशन उपयोगकर्ता को उसी स्थिति में ले जाता है जिसमें ऐप्लिकेशन का इस्तेमाल पिछली बार किया गया था.
  • जब डिवाइस के स्लीप (लॉक) मोड से वापस आने के बाद ऐप्लिकेशन फिर से शुरू होता है, तो ऐप्लिकेशन उपयोगकर्ता को उसी स्थिति में ले जाता है जिसमें ऐप्लिकेशन का पिछली बार इस्तेमाल किया गया था.
  • जब ऐप्लिकेशन को होम या सभी ऐप्लिकेशन से फिर से लॉन्च किया जाता है, तो उसे इनमें से कोई एक काम करना चाहिए. यह इस बात पर निर्भर करता है कि ऐप्लिकेशन का इस्तेमाल पिछली बार कब किया गया था:
    • अगर ऐप्लिकेशन का इस्तेमाल कुछ समय पहले (मिनटों में) किया गया था, तो ऐप्लिकेशन की स्थिति को उसकी पिछली स्थिति के जितना हो सके उतना करीब ले जाएं.
    • अगर ऐप्लिकेशन को पिछली बार इस्तेमाल किए हुए काफ़ी समय हो गया है, तो उसे उसकी पिछली स्थिति के हिसाब से वापस लाने की कोशिश करें. इसके अलावा, ऐप्लिकेशन को उसकी होम स्क्रीन या किसी अन्य डिफ़ॉल्ट स्थिति से शुरू करें.

सूचनाएं

ID परीक्षण ब्यौरा
Notification_Quality T-Notification_Quality

सूचनाओं में, आपके ऐप्लिकेशन से जुड़ी काम की जानकारी मिलती है.

  • सूचनाओं का इस्तेमाल, क्रॉस-प्रमोशन या किसी अन्य प्रॉडक्ट का विज्ञापन दिखाने के लिए न करें. ऐसा करना, Play Store की नीतियों का उल्लंघन माना जाता है.
  • सूचना के चैनल, सबसे सही तरीकों के हिसाब से तय किए जाते हैं. ऐसा इसलिए, ताकि सभी सूचनाएं एक ही चैनल से न भेजी जाएं.
  • सूचना की सही प्राथमिकता चुनें.
  • जब भी हो सके, कई सूचनाओं को एक सूचना ग्रुप में स्टैक करें.
  • ज़रूरत के मुताबिक, सूचनाओं के लिए टाइमआउट सेट करें.
  • सूचनाएं सिर्फ़ तब तक दिखती हैं, जब तक उनसे जुड़े इवेंट चल रहे हों. जैसे, संगीत बजना या फ़ोन कॉल. ज़्यादा जानकारी के लिए, फ़ंक्शन सेक्शन देखें.
Conversation_Quality T-Notification_Quality

मैसेजिंग ऐप्लिकेशन, सोशल ऐप्लिकेशन, और बातचीत के लिए:

सुलभता

ID परीक्षण ब्यौरा
Touch_Target_Size T-Touch_Target_Size टच टारगेट (स्क्रीन के वे हिस्से जहां छूने पर कोई ऐक्शन होता है) कम से कम 48 dp के हों. Material Design के लेआउट और टाइपोग्राफ़ी से जुड़े दिशा-निर्देश देखें.
Visual_Contrast T-Visual_Contrast

ऐप्लिकेशन के टेक्स्ट और फ़ोरग्राउंड कॉन्टेंट का कंट्रास्ट अनुपात, ऐप्लिकेशन के बैकग्राउंड के साथ इस तरह होना चाहिए:

  • बड़े टेक्स्ट और ग्राफ़िक के लिए 3:1
  • छोटे टेक्स्ट के लिए 4.5:1 (अगर टेक्स्ट बोल्ड है, तो 18 पॉइंट से कम या 14 पॉइंट से कम)

कलर और कंट्रास्ट के बारे में ज़्यादा जानें.

Content_Description T-Content_Description contentDescription का इस्तेमाल करके, TextView को छोड़कर हर यूज़र इंटरफ़ेस (यूआई) एलिमेंट के बारे में बताएं.

मुख्य सुविधाएं

आपके ऐप्लिकेशन में, फ़ंक्शन से जुड़ी ये सुविधाएं होनी चाहिए.

ऑडियो

ID परीक्षण ब्यौरा
Audio_Playback_Start T-Audio_Playback_Start

जब उपयोगकर्ता ऑडियो चलाना शुरू करता है, तो ऐप्लिकेशन को एक सेकंड के अंदर इनमें से कोई एक काम करना चाहिए:

  • ऑडियो चलाना शुरू करें
  • ऑडियो डेटा तैयार किए जाने की जानकारी देने वाला विज़ुअल इंडिकेटर उपलब्ध कराएं
Audio_Focus_Request T-Audio_Focus_Request ऑडियो चलना शुरू होने पर, ऐप्लिकेशन को ऑडियो फ़ोकस का अनुरोध करना चाहिए. साथ ही, ऑडियो चलना बंद होने पर, ऑडियो फ़ोकस को छोड़ देना चाहिए.
Audio_Focus_Change T-Audio_Focus_Change ऐप्लिकेशन को ऑडियो फ़ोकस के लिए, अन्य ऐप्लिकेशन के अनुरोधों को मैनेज करना चाहिए. उदाहरण के लिए, जब कोई दूसरा ऐप्लिकेशन बोलता है, तो कोई ऐप्लिकेशन चलाने की आवाज़ कम कर सकता है.
Audio_Playback_Background T-Audio_Playback_Background

ऐप्लिकेशन में बैकग्राउंड में वीडियो चलाने की सुविधा होनी चाहिए.

ऐप्लिकेशन को फ़ोरग्राउंड सेवा का इस्तेमाल करना चाहिए, ताकि ऐप्लिकेशन के बंद होने के बाद सिस्टम, ऐप्लिकेशन की प्रोसेस को बंद न करे. ऐप्लिकेशन को स्टेटस बार या लॉक स्क्रीन पर, लगातार दिखने वाली और खारिज न की जा सकने वाली सूचना भी दिखानी होगी. इससे उपयोगकर्ता को यह पता चलेगा कि ऐप्लिकेशन चल रहा है.

उपयोगकर्ताओं के पास, सूचना या लॉक स्क्रीन पर मौजूद कंट्रोल या कनेक्ट की गई ऐक्सेसरी पर मौजूद कंट्रोल का इस्तेमाल करके, मीडिया चलाने की सुविधा को कंट्रोल करने का विकल्प होना चाहिए.

Audio_Notification_Style T-Audio_Notification_Style जब ऐप्लिकेशन बैकग्राउंड में ऑडियो चलाता है, तो उसे MediaStyle स्टाइल वाली सूचना बनानी चाहिए.
Audio_Playback_Resume T-Audio_Playback_Resume अगर ऐप्लिकेशन बैकग्राउंड में है और ऑडियो रुका हुआ है, तो ऐप्लिकेशन के फ़ोरग्राउंड में आने पर ऑडियो फिर से शुरू हो जाना चाहिए. इसके अलावा, ऐप्लिकेशन को उपयोगकर्ता को यह बताना चाहिए कि ऑडियो रुका हुआ है.

वीडियो

ID परीक्षण ब्यौरा
Video_PiP T-Video_PiP अगर ऐप्लिकेशन में वीडियो चलाने की सुविधा है, तो उसमें पिक्चर में पिक्चर मोड में वीडियो चलाने की सुविधा होनी चाहिए.
Video_Encoding T-Video_Encoding अगर ऐप्लिकेशन वीडियो को एन्कोड करता है, तो उसे HEVC वीडियो कंप्रेशन स्टैंडर्ड का इस्तेमाल करना चाहिए.
Video_Playback_Background T-Video_Playback_Background

ऐप्लिकेशन, बैकग्राउंड में वीडियो चलाने की सुविधा देता है. ऐसा तब होता है, जब ऐप्लिकेशन सबसे ऊपर न हो. इसमें ये स्थितियां शामिल हैं:

  • छोटा किया गया
  • अन्य विंडो या सिस्टम यूज़र इंटरफ़ेस (जैसे, सूचना शेड या होम/लॉक स्क्रीन) के पीछे
  • डेस्कटॉप की दिखने वाली स्क्रीन से बाहर

शेयर करें

ID परीक्षण ब्यौरा
System_Sharesheet T-System_Sharesheet कॉन्टेंट शेयर करते समय, ऐप्लिकेशन को Android Sharesheet का इस्तेमाल करना चाहिए. ऐप्लिकेशन ऐसे टारगेट का सुझाव दे सकता है जो कस्टम सलूशन के लिए उपलब्ध नहीं हैं.

बैकग्राउंड सेवाएं

ID परीक्षण ब्यौरा
Background_Service_Optimization T-Background_Service_Optimization

ऐप्लिकेशन, बैकग्राउंड में लंबे समय तक चलने वाली सेवाओं को बंद कर देता है, ताकि उपयोगकर्ता का डिवाइस ठीक से काम करता रहे.

ध्यान दें: सिस्टम, बैकग्राउंड में चल रही सेवाओं पर कई पाबंदियां लगाता है.

बैकग्राउंड सेवाओं का गलत इस्तेमाल करने के कुछ उदाहरण यहां दिए गए हैं:

  • सूचनाएं पाने के लिए, नेटवर्क कनेक्शन बनाए रखना
  • ब्लूटूथ कनेक्शन बनाए रखना
  • जीपीएस को चालू रखना

ज़्यादा जानकारी के लिए, बैकग्राउंड टास्क की खास जानकारी देखें.

परफ़ॉर्मेंस और स्थिरता

आपके ऐप्लिकेशन की परफ़ॉर्मेंस अच्छी होनी चाहिए. साथ ही, वह भरोसेमंद होना चाहिए, डिवाइस के साथ काम करना चाहिए, और रिस्पॉन्स देने में कम समय लेना चाहिए.

परफ़ॉर्मेंस

ID परीक्षण ब्यौरा
App_Startup_Time T-App_Startup_Time ऐप्लिकेशन जल्दी लोड हो जाता है. अगर ऐप्लिकेशन को लोड होने में दो सेकंड से ज़्यादा समय लगता है, तो उपयोगकर्ता को स्क्रीन पर फ़ीडबैक मिलता है. जैसे, प्रोग्रेस इंडिकेटर या इसी तरह का कोई अन्य संकेत.
Rendering_Performance T-Rendering_Performance ऐप्लिकेशन, हर 16 (या इससे कम) मिलीसेकंड में फ़्रेम रेंडर करता है, ताकि हर सेकंड कम से कम 60 फ़्रेम दिखाए जा सकें. रेंडरिंग से जुड़ी समस्याओं के बारे में मदद पाने के लिए, रेंडरिंग में ज़्यादा समय लगना लेख पढ़ें.
StrictMode_Compliance T-StrictMode_Compliance StrictMode चालू होने पर (StrictMode टेस्टिंग सेक्शन देखें), ऐप्लिकेशन की जांच करते समय कोई लाल फ़्लैश (StrictMode से परफ़ॉर्मेंस की चेतावनियां) नहीं दिखती हैं.

ऐप्लिकेशन को क्रैश या फ़्रीज़ होने जैसी समस्याओं से बचाना

ID परीक्षण ब्यौरा
Stability_ANR T-Stability_ANR ऐप्लिकेशन क्रैश नहीं होता है. साथ ही, यूज़र इंटरफ़ेस (यूआई) थ्रेड को ब्लॉक नहीं करता है. इससे एएनआर (Android Not Responding) गड़बड़ियां होती हैं. स्थिरता से जुड़ी संभावित समस्याओं का पता लगाने के लिए, Google Play की प्री-लॉन्च रिपोर्ट का इस्तेमाल करें. तैनात करने के बाद, Google Play Console में Android की ज़रूरी जानकारी पेज पर नज़र रखें.

SDK टूल

ID परीक्षण ब्यौरा
Android_Platform_Compatibility T-Android_Platform_Compatibility ऐप्लिकेशन, Android प्लैटफ़ॉर्म के सार्वजनिक तौर पर उपलब्ध सबसे नए वर्शन पर बिना क्रैश हुए चलता है. साथ ही, इससे मुख्य फ़ंक्शन पर कोई बुरा असर नहीं पड़ता.
Target_SDK_Version T-Target_SDK_Version ऐप्लिकेशन, Android के नए एसडीके को टारगेट करता है. इससे Google Play की ज़रूरी शर्तों का पालन किया जा सकेगा. इसके लिए, ऐप्लिकेशन के मॉड्यूल build.gradle फ़ाइल में targetSdk वैल्यू सेट की जाती है.
Compile_SDK_Version T-Target_SDK_Version ऐप्लिकेशन को Android के नए एसडीके की मदद से बनाया गया है. इसके लिए, ऐप्लिकेशन के मॉड्यूल की build.gradle फ़ाइल में compileSdk वैल्यू सेट की गई है.
SDK_Maintenance T-SDK_Maintenance,
T-Non_SDK_Interfaces

इस्तेमाल किए गए सभी Google या तीसरे पक्ष के SDK टूल अप-टू-डेट हों. इन एसडीके में स्थिरता, कंपैटिबिलिटी या सुरक्षा से जुड़े किसी भी तरह के सुधार के बारे में, उपयोगकर्ताओं को समय पर जानकारी मिलनी चाहिए.

Google के SDK टूल के लिए, Google Play services के साथ काम करने वाले SDK टूल का इस्तेमाल करें. ये एसडीके, पुराने वर्शन के साथ काम करते हैं. साथ ही, इन्हें अपने-आप अपडेट मिलते हैं. इनसे आपके ऐप्लिकेशन पैकेज का साइज़ कम हो जाता है और डिवाइस पर मौजूद संसाधनों का बेहतर तरीके से इस्तेमाल किया जा सकता है.

Non_SDK_Interfaces T-Non_SDK_Interfaces ऐप्लिकेशन, गैर-एसडीके इंटरफ़ेस का इस्तेमाल नहीं करता हो.
Production_Build_Quality T-Production_Build_Quality प्रोडक्शन ऐप्लिकेशन में कोई भी डीबग लाइब्रेरी शामिल नहीं की गई है. ऐप्लिकेशन में शामिल की गई डीबग लाइब्रेरी से परफ़ॉर्मेंस के साथ-साथ सुरक्षा से जुड़ी समस्याएं हो सकती हैं.

बैटरी

ID परीक्षण ब्यौरा
Power_Management T-Power_Management

ऐप्लिकेशन, पावर मैनेजमेंट की सुविधाओं बैटरी बचाने (डोज़) और ऐप्लिकेशन स्टैंडबाय के साथ ठीक से काम करता हो.

ऐप्लिकेशन, पावर मेंटेनेंस से छूट पाने का अनुरोध कर सकते हैं. Doze और ऐप्लिकेशन स्टैंडबाय मोड के लिए ऑप्टिमाइज़ करना में, इस्तेमाल के अन्य उदाहरणों के लिए सहायता देखें.

निजता और सुरक्षा

ऐप्लिकेशन, उपयोगकर्ता के डेटा और निजी जानकारी को सुरक्षित तरीके से मैनेज करता है. साथ ही, अनुमति के सही लेवल देता है.

Google Play Store पर पब्लिश किए गए ऐप्लिकेशन को, उपयोगकर्ता की निजता की सुरक्षा के लिए Google Play की उपयोगकर्ता के डेटा से जुड़ी नीतियों का भी पालन करना होगा.

अनुमतियां

ID परीक्षण ब्यौरा
Minimize_Permissions T-Minimize_Permissions ऐप्लिकेशन, इस्तेमाल के मौजूदा मामले के लिए सिर्फ़ ज़रूरी अनुमतियों का अनुरोध करता है. जगह की जानकारी जैसी कुछ अनुमतियों के लिए, ऐप्लिकेशन सटीक जानकारी के बजाय अनुमानित जानकारी का इस्तेमाल करता है. अनुमति के अनुरोधों को कम करना लेख पढ़ें.
Sensitive_Permissions T-Sensitive_Permissions

ऐप्लिकेशन, संवेदनशील डेटा (जैसे, मैसेज (एसएमएस) या कॉल लॉग की अनुमति वाले ग्रुप या जगह की जानकारी) या पैसे चुकाकर इस्तेमाल की जाने वाली सेवाओं (जैसे, डायलर या मैसेज (एसएमएस)) को ऐक्सेस करने की अनुमति सिर्फ़ तब मांगता है, जब वह सीधे तौर पर ऐप्लिकेशन के मुख्य इस्तेमाल के मामलों से जुड़ी हो. इन अनुमतियों से जुड़े असर के बारे में, उपयोगकर्ता को साफ़ तौर पर बताया जाना चाहिए.

इस आधार पर कि आपका ऐप्लिकेशन अनुमतियों का इस्तेमाल कैसे करता है, आपके ऐप्लिकेशन के इस्तेमाल के उदाहरण को पूरा करने का कोई और तरीका हो सकता है. इसके लिए, संवेदनशील जानकारी ऐक्सेस करने की ज़रूरत नहीं होगी. उदाहरण के लिए, किसी उपयोगकर्ता के संपर्कों से जुड़ी अनुमतियां मांगने के बजाय, ऐक्सेस का अनुरोध करने के लिए इंप्लिसिट इंटेंट का इस्तेमाल करें.

Runtime_Permissions T-Runtime_Permissions ऐप्लिकेशन के चालू होने के दौरान नहीं, बल्कि जब किसी फ़ंक्शन का अनुरोध किया जाता है, तब ऐप्लिकेशन रनटाइम अनुमतियों का अनुरोध करता है.
Permission_Rationale T-Permission_Rationale ऐप्लिकेशन में साफ़ तौर पर बताया गया हो कि अनुमतियों की ज़रूरत क्यों है.
Graceful_Degradation T-Graceful_Degradation जब उपयोगकर्ता किसी अनुमति को अस्वीकार या निरस्त करते हैं, तो ऐप्लिकेशन ग्रेसफ़ुली डिग्रेड हो जाता है. ऐप्लिकेशन को उपयोगकर्ता के ऐक्सेस को पूरी तरह से नहीं रोकना चाहिए.

डेटा और फ़ाइलें

ID परीक्षण ब्यौरा
Sensitive_Data_Storage T-Sensitive_Data_Storage,
T-Sensitive_Data_Handling
सभी संवेदनशील डेटा को ऐप्लिकेशन के इंटरनल स्टोरेज में सेव किया जाता है.
Sensitive_Data_Logging T-Sensitive_Data_Logging सिस्टम लॉग या ऐप्लिकेशन के हिसाब से लॉग किए गए डेटा में, उपयोगकर्ता का कोई निजी या संवेदनशील डेटा शामिल नहीं होता.
Hardware_IDs T-Hardware_IDs ऐप्लिकेशन, पहचान के मकसद से रीसेट नहीं किए जा सकने वाले किसी भी हार्डवेयर आईडी का इस्तेमाल नहीं करता है. जैसे, आईएमईआई.

पहचान

ID परीक्षण ब्यौरा
Autofill_Hints T-Autofill_Hints यह ऐप्लिकेशन, खाते के क्रेडेंशियल और अन्य संवेदनशील जानकारी अपने-आप भरने के लिए सुझाव देता है. जैसे, क्रेडिट कार्ड की जानकारी, घर का पता, और फ़ोन नंबर.
Credential_Manager T-Credential_Manager ऐप्लिकेशन में Credential Manager for Android को इंटिग्रेट किया गया है. इससे आसानी से साइन इन किया जा सकता है. साथ ही, पासकी, फ़ेडरेटेड आइडेंटिटी, और पासवर्ड के लिए एक ही प्लैटफ़ॉर्म का इस्तेमाल किया जा सकता है.
Biometric_Authentication T-Biometric_Authentication ऐप्लिकेशन, वित्तीय लेन-देन या संवेदनशील जानकारी को सुरक्षित रखने के लिए, बायोमेट्रिक पुष्टि की सुविधा देता हो. जैसे, उपयोगकर्ता के ज़रूरी दस्तावेज़.

ऐप्लिकेशन कॉम्पोनेंट

ID परीक्षण ब्यौरा
Component_Export T-Component_Export

ऐप्लिकेशन, सभी गतिविधियों, सेवाओं, ब्रॉडकास्ट रिसीवर, और खास तौर पर कॉन्टेंट प्रोवाइडर के लिए, android:exported एट्रिब्यूट को साफ़ तौर पर सेट करता है.

सिर्फ़ उन ऐप्लिकेशन कॉम्पोनेंट को एक्सपोर्ट किया जाता है जो दूसरे ऐप्लिकेशन के साथ डेटा शेयर करते हैं या जिन्हें दूसरे ऐप्लिकेशन से शुरू किया जाना चाहिए.

Component_Permissions T-Component_Permissions

सभी इंटेंट और ब्रॉडकास्ट के लिए, सबसे सही तरीके अपनाए जाते हैं:

Component_Protection T-Component_Protection

ऐप्लिकेशन के बीच कॉन्टेंट शेयर करने वाले सभी कॉम्पोनेंट, कस्टम अनुमतियों के लिए android:protectionLevel="signature" का इस्तेमाल करते हैं. इसमें गतिविधियां, सेवाएं, ब्रॉडकास्ट रिसीवर, और खास तौर पर कॉन्टेंट देने वाली कंपनियां शामिल हैं.

ऐप्लिकेशन को, इंस्टॉल किए गए पैकेज की सूची को ऐक्सेस करने पर निर्भर नहीं रहना चाहिए.

नेटवर्किंग

ID परीक्षण ब्यौरा
Network_Security_Traffic T-Network_Security_Traffic पूरा नेटवर्क ट्रैफ़िक, एसएसएल पर भेजा जाता है.
Network_Security_Configuration T-Network_Security_Configuration ऐप्लिकेशन, नेटवर्क सुरक्षा कॉन्फ़िगरेशन का एलान करता है.
Security_Provider_Initialization T-Security_Provider_Initialization अगर ऐप्लिकेशन Google Play services का इस्तेमाल करता है, तो ऐप्लिकेशन शुरू होने पर, सुरक्षा सेवा देने वाली कंपनी की सेवा शुरू हो जाती है.

WebViews

ID परीक्षण ब्यौरा
WebView_Asset_Loader T-WebView_Asset_Loader,
T-WebView_Navigation
स्थानीय कॉन्टेंट ऐक्सेस करने के लिए, setAllowUniversalAccessFromFileURLs() का इस्तेमाल न करें. इसके बजाय, WebViewAssetLoader का इस्तेमाल करें.
WebView_JavaScript T-WebView_JavaScript,
T-WebView_Navigation

वेब व्यू में, गैर-भरोसेमंद कॉन्टेंट के साथ addJavaScriptInterface() का इस्तेमाल न करें.

Android 6.0 (एपीआई लेवल 23 और इसके बाद के वर्शन) पर, इसके बजाय एचटीएमएल मैसेज चैनल का इस्तेमाल करें.

प्लान लागू करना

ID परीक्षण ब्यौरा
App_Bundles T-App_Bundles

ऐप्लिकेशन, ऐप्लिकेशन के APK से बाहर के कोड को डाइनैमिक तरीके से लोड नहीं करता है. Android ऐप्लिकेशन बंडल का इस्तेमाल करें. इनमें Play Feature Delivery और Play ऐसेट डिलीवरी शामिल हैं.

अगस्त 2021 से, Google Play Store पर मौजूद सभी नए ऐप्लिकेशन के लिए, Android ऐप्लिकेशन बंडल का इस्तेमाल करना ज़रूरी है.

क्रिप्टोग्राफी

ID परीक्षण ब्यौरा
Cryptographic_Algorithms T-Cryptographic_Algorithms ऐप्लिकेशन, प्लैटफ़ॉर्म पर उपलब्ध क्रिप्टोग्राफ़िक एल्गोरिदम और रैंडम नंबर जनरेटर का इस्तेमाल करता है. साथ ही, ऐप्लिकेशन में कस्टम एल्गोरिदम लागू नहीं किए जाते.

Google Play

अपने ऐप्लिकेशन को Google Play पर पब्लिश करने की सुविधा चालू करें.

नीतियां

ID परीक्षण ब्यौरा
Play_Content_Policies T-Play_Content_Policies ऐप्लिकेशन, Google Play डेवलपर कॉन्टेंट नीति की शर्तों का पूरी तरह से पालन करता हो. साथ ही, इसमें आपत्तिजनक कॉन्टेंट न हो और यह किसी दूसरे व्यक्ति या कंपनी की बौद्धिक संपत्ति या ब्रैंड का इस्तेमाल न करता हो.
Play_Content_Rating T-Play_Content_Policies ऐप्लिकेशन के मैच्योरिटी लेवल को कॉन्टेंट रेटिंग के दिशा-निर्देशों के मुताबिक सही तरीके से सेट किया गया हो.

ऐप्लिकेशन की ज़्यादा जानकारी वाला पेज

ID परीक्षण ब्यौरा
Play_Feature_Graphic T-Play_Feature_Graphic,
T-Play_Graphic_Assets

ऐप्लिकेशन के फ़ीचर ग्राफ़िक में, सहायता लेख में दिए गए दिशा-निर्देशों का पालन किया गया हो. पक्का करें कि:

  • ऐप्लिकेशन की लिस्टिंग में अच्छी क्वालिटी वाला फ़ीचर ग्राफ़िक शामिल हो
  • फ़ीचर ग्राफ़िक में डिवाइस की इमेज, स्क्रीनशॉट या ऐसा छोटा टेक्स्ट शामिल नहीं होना चाहिए जिसे छोटा करने पर पढ़ा न जा सके. साथ ही, यह टेक्स्ट आपके ऐप्लिकेशन के लिए टारगेट की गई सबसे छोटी स्क्रीन पर भी पढ़ा जा सकने लायक होना चाहिए
  • फ़ीचर ग्राफ़िक, विज्ञापन जैसा नहीं होना चाहिए
Play_Device_References T-Play_Graphic_Assets ऐप्लिकेशन के स्क्रीनशॉट और वीडियो में, Android के अलावा किसी दूसरे डिवाइस को नहीं दिखाया गया है और न ही उसका रेफ़रंस दिया गया है.
Play_Misleading_Content T-Play_Graphic_Assets ऐप्लिकेशन के स्क्रीनशॉट या वीडियो में, ऐप्लिकेशन के कॉन्टेंट और अनुभव को गुमराह करने वाले तरीके से नहीं दिखाया गया है.

उपयोगकर्ता के लिए सहायता

ID परीक्षण ब्यौरा
Play_User_Reviews T-Play_Content_Policies अगर Google Play पेज के समीक्षाएं टैब में, उपयोगकर्ताओं की ओर से रिपोर्ट किए गए बग को दोहराया जा सकता है और वे कई अलग-अलग डिवाइसों पर दिखते हैं, तो उन्हें ठीक किया जाता है. अगर बग सिर्फ़ कुछ डिवाइसों पर दिखता है, तो भी आपको उसे ठीक करना चाहिए. ऐसा तब करना चाहिए, जब वे डिवाइस खास तौर पर लोकप्रिय हों या नए हों.

टेस्ट एनवायरमेंट

टेस्ट एनवायरमेंट को इस तरह सेट अप करें:

  • एम्युलेटर टेस्टिंग: Android Emulator, अलग-अलग Android वर्शन और स्क्रीन रिज़ॉल्यूशन पर अपने ऐप्लिकेशन की जांच करने का एक बेहतरीन तरीका है. अपने टारगेट किए गए उपयोगकर्ता आधार के लिए, सबसे सामान्य डिवाइसों और हार्डवेयर/सॉफ़्टवेयर के कॉम्बिनेशन को दिखाने के लिए, इम्यूलेट किए गए डिवाइस (एवीडी) सेट अप करें. इन एम्युलेटर का इस्तेमाल करके, अलग-अलग फ़ॉर्म फ़ैक्टर की जांच करें (कम से कम):

    • फ़ोल्ड किए जा सकने वाले डिवाइस: 7.6 इंच का फ़ोल्ड-इन डिसप्ले, जिसमें आउटर डिसप्ले भी शामिल है. यह AVD मैनेजर में फ़ोन के तौर पर दिखता है
    • टैबलेट: Pixel C 9.94" (2,560 पिक्सल x 1,800 पिक्सल)
    • मोबाइल ऐप्लिकेशन की सूचनाओं की टेस्टिंग: मोबाइल डिवाइस / एम्युलेटर को Wear OS एम्युलेटर से जोड़ें: Wear OS Round 1.84"
  • हार्डवेयर डिवाइस: आपके टेस्ट एनवायरमेंट में, कुछ ऐसे हार्डवेयर डिवाइस शामिल होने चाहिए जो उपभोक्ताओं के लिए उपलब्ध मुख्य फ़ॉर्म फ़ैक्टर और हार्डवेयर/सॉफ़्टवेयर कॉम्बिनेशन को दिखाते हों. बाज़ार में उपलब्ध हर डिवाइस पर टेस्ट करने की ज़रूरत नहीं है. प्रतिनिधि डिवाइसों की कम संख्या पर फ़ोकस करें. इसके लिए, हर फ़ॉर्म फ़ैक्टर के लिए एक या दो डिवाइसों का इस्तेमाल करें.

  • डिवाइस टेस्ट लैब:; अलग-अलग तरह के डिवाइसों पर अपने ऐप्लिकेशन की जांच करने के लिए, तीसरे पक्ष की सेवाओं का भी इस्तेमाल किया जा सकता है. जैसे, Firebase टेस्ट लैब.

  • Android के नए वर्शन पर टेस्ट करें: आपको अपने टारगेट किए गए उपयोगकर्ताओं के लिए, Android के अलग-अलग वर्शन पर टेस्ट करना चाहिए. साथ ही, आपको हमेशा Android के नए वर्शन पर टेस्ट करना चाहिए. इससे यह पक्का किया जा सकेगा कि बदलावों का आपके ऐप्लिकेशन के उपयोगकर्ता अनुभव पर बुरा असर न पड़े.

टेस्टिंग के बारे में ज़्यादा जानने के लिए, Android ऐप्लिकेशन की टेस्टिंग की बुनियादी बातें लेख पढ़ें. इसमें यूनिट टेस्टिंग, इंटिग्रेशन टेस्टिंग, और यूज़र इंटरफ़ेस (यूआई) टेस्टिंग के बारे में बताया गया है.

StrictMode

परफ़ॉर्मेंस की जांच करने के लिए, अपने ऐप्लिकेशन में StrictMode को चालू करें. StrictMode का इस्तेमाल करके, उन कार्रवाइयों का पता लगाएं जो परफ़ॉर्मेंस, नेटवर्क ऐक्सेस, और फ़ाइल पढ़ने और लिखने की प्रोसेस पर असर डाल सकती हैं. मुख्य थ्रेड और अन्य थ्रेड, दोनों पर संभावित रूप से समस्या पैदा करने वाली कार्रवाइयों का पता लगाएं.

StrictMode.ThreadPolicy.Builder का इस्तेमाल करके, हर थ्रेड के लिए निगरानी करने की नीति सेट अप करें. साथ ही, detectAll() का इस्तेमाल करके, ThreadPolicy में निगरानी करने की सुविधा चालू करें.

penaltyFlashScreen() का इस्तेमाल करके, ThreadPolicy के लिए नीति के उल्लंघनों की विज़ुअल सूचना चालू करें.

परीक्षण

ऐप्लिकेशन की क्वालिटी की बुनियादी जांचों से, आपको अपने ऐप्लिकेशन की बुनियादी क्वालिटी का आकलन करने में मदद मिलती है. जांचों को एक साथ किया जा सकता है या जांचों के ग्रुप को अपने टेस्टिंग प्लान में एक साथ इंटिग्रेट किया जा सकता है.

उपयोगकर्ता अनुभव

एक जैसे और आसान उपयोगकर्ता अनुभव के लिए टेस्ट करें.

उपयोगिता

ID सुविधा ब्यौरा
T-Consistent_UX Consistent_UX

ऐप्लिकेशन के सभी हिस्सों पर जाएं. जैसे, सभी स्क्रीन, डायलॉग, सेटिंग, और उपयोगकर्ता के सभी फ़्लो.

यह तरीका अपनाएं:
  • अगर ऐप्लिकेशन में कॉन्टेंट में बदलाव करने, कॉन्टेंट बनाने, गेम खेलने या मीडिया चलाने की सुविधा मिलती है, तो इन सभी सुविधाओं को टेस्ट करें.
  • ऐप्लिकेशन की टेस्टिंग करते समय, दूसरे ऐप्लिकेशन से होने वाली रुकावटों को शामिल करें. जैसे, सूचना या फ़ोन कॉल मिलना. साथ ही, डिवाइस की विशेषताओं में कुछ समय के लिए होने वाले बदलावों को लागू करें. जैसे, नेटवर्क कनेक्टिविटी, बैटरी फ़ंक्शन, जीपीएस की उपलब्धता, और सिस्टम लोड.
  • इन-ऐप्लिकेशन खरीदारी के सभी फ़्लो डालें और उनकी जांच करें
T-App_Switcher App_Switcher हर ऐप्लिकेशन की स्क्रीन से, किसी दूसरे ऐप्लिकेशन पर स्विच करें. इसके बाद, हाल ही में इस्तेमाल किए गए ऐप्लिकेशन ऐप्लिकेशन स्विचर का इस्तेमाल करके, टेस्ट किए जा रहे ऐप्लिकेशन पर वापस आएं.
T-Sleep_Resume Sleep_Resume डिवाइस को स्लीप मोड में डालने के लिए, पावर बटन दबाएं. इसके बाद, स्क्रीन को चालू करने के लिए फिर से पावर बटन दबाएं.
T-Lock_Resume Lock_Resume डिवाइस पर स्क्रीन लॉक सेट अप करें. डिवाइस को स्लीप मोड में ले जाने के लिए, पावर बटन दबाएं. इससे डिवाइस लॉक हो जाता है. इसके बाद, स्क्रीन को चालू करने और डिवाइस को अनलॉक करने के लिए, पावर बटन को फिर से दबाएं.

एसडी कार्ड

ID सुविधा ब्यौरा
T-SD_Card Consistent_UX

डिवाइस के एसडी कार्ड पर इंस्टॉल किए गए ऐप्लिकेशन के साथ, मुख्य फ़ंक्शन की जांच करें. ऐसा तब करें, जब ऐप्लिकेशन इस इंस्टॉलेशन के तरीके के साथ काम करता हो.

ऐप्लिकेशन को एसडी कार्ड में ले जाने के लिए, ऐप्लिकेशन की सेटिंग देखें.

उपयोगकर्ता इंटरफ़ेस

ID सुविधा ब्यौरा
T-Orientation_Transitions Display_State_Parity,
Fullscreen_Display,
Orientation_Transitions

हर ऐप्लिकेशन की स्क्रीन पर, डिवाइस को लैंडस्केप और पोर्ट्रेट ओरिएंटेशन में कम से कम तीन बार घुमाएं. साथ ही, उसे फ़ोल्ड और अनफ़ोल्ड करें.

पुष्टि करें कि ऐप्लिकेशन ये काम करता हो:
  • यह सभी डिसप्ले ओरिएंटेशन और फ़ोल्ड की स्थितियों में फ़ंक्शन पैरिटी उपलब्ध कराता है
  • यह ऐप्लिकेशन की विंडो को सभी डिसप्ले ओरिएंटेशन और फ़ोल्ड की स्थितियों में भरता है. साथ ही, यह लेटरबॉक्स नहीं होता है
  • यह ओरिएंटेशन और डिवाइस को फ़ोल्ड और अनफ़ोल्ड करने के बीच तेज़ी से ट्रांज़िशन के दौरान, स्थिति को बनाए रखता है और इसमें रेंडरिंग से जुड़ी कोई समस्या नहीं होती

विज़ुअल क्वालिटी

ID सुविधा ब्यौरा
T-Graphic_Quality Graphic_Quality अपने ऐप्लिकेशन की सभी सुविधाओं का इस्तेमाल करें. पुष्टि करें कि सभी विज़ुअल, जैसे कि ग्राफ़िक, टेक्स्ट, इमेज, और अन्य यूज़र इंटरफ़ेस एलिमेंट में कोई गड़बड़ी, धुंधलापन या पिक्सलेटिंग न हो.
T-Line_Length Line_Length

ऐप्लिकेशन में मौजूद सभी टेक्स्ट ब्लॉक की समीक्षा करें. पुष्टि करें कि टेक्स्ट और टेक्स्ट ब्लॉक की लाइन की लंबाई, पढ़ने में आसानी के लिए 45 से 75 वर्णों (स्पेस शामिल हैं) तक सीमित हो.

यहां दी गई जानकारी की पुष्टि करें:
  • कंपोज़िशन, ज़रूरी शर्तें पूरी करने वाले सभी डिवाइसों पर काम करती हो
  • अक्षर या शब्द कटे हुए न हों
  • बटन या आइकॉन में शब्दों को गलत तरीके से रैप न किया गया हो
  • टेक्स्ट और आस-पास के एलिमेंट के बीच सही स्पेसिंग
T-Theme_Support Theme_Support पुष्टि करें कि हल्के और गहरे रंग वाली थीम में पूरा टेक्स्ट पढ़ा जा सकता हो. पुष्टि करें कि सभी विज़ुअल, लाइट और डार्क थीम में साफ़ तौर पर दिख रहे हों और देखने में अच्छे लग रहे हों.
ID सुविधा ब्यौरा
T-Back_Nav Back_Button_Nav,
Back_Gesture_Nav

ऐप्लिकेशन के सभी हिस्सों पर जाएं. जैसे, सभी स्क्रीन, डायलॉग, सेटिंग, और उपयोगकर्ता के सभी फ़्लो.

हर ऐप्लिकेशन की स्क्रीन पर, वापस जाएं बटन दबाएं या वापस जाने के लिए स्वाइप करने के जेस्चर का इस्तेमाल करें. ऐप्लिकेशन को पिछली या होम स्क्रीन पर ले जाना चाहिए.

T-State_Preservation State_Preservation हर ऐप्लिकेशन की स्क्रीन पर, डिवाइस के होम बटन को दबाएं या जेस्चर नेविगेशन में ऊपर की ओर स्वाइप करें. इसके बाद, सभी ऐप्लिकेशन स्क्रीन से ऐप्लिकेशन को फिर से लॉन्च करें.

सूचनाएं

ID सुविधा ब्यौरा
T-Notification_Quality Notification_Quality,
Conversation_Quality
सूचना पैनल में, ऐप्लिकेशन की ओर से दिखाई जा सकने वाली सभी तरह की सूचनाओं को ट्रिगर करें और देखें. सूचनाओं को बड़ा करें. यह सुविधा Android 4.1 और इसके बाद के वर्शन पर काम करती है. इसके बाद, उपलब्ध सभी कार्रवाइयों पर टैप करें.

सुलभता

ID सुविधा ब्यौरा
T-Touch_Target_Size Touch_Target_Size पुष्टि करें कि टच टारगेट का साइज़ और पोज़िशन, सभी डिसप्ले साइज़ और कॉन्फ़िगरेशन के लिए एक जैसी हो और उसे ऐक्सेस किया जा सके. सुलभता के बारे में जानकारी के लिए, Accessibility Scanner देखें.
T-Visual_Contrast Visual_Contrast सभी विज़ुअल एलिमेंट के कंट्रास्ट की पुष्टि करें.
T-Content_Description Content_Description पुष्टि करें कि TextView के अलावा, सभी यूज़र इंटरफ़ेस (यूआई) एलिमेंट में कॉन्टेंट के ब्यौरे मौजूद हों.

मुख्य सुविधाएं

पुष्टि करें कि आपका ऐप्लिकेशन, यहां बताई गई सुविधाओं के हिसाब से काम करता हो.

ऑडियो

ID सुविधा ब्यौरा
T-Audio_Playback_Start Audio_Playback_Start ऑडियो चलाना शुरू करें. पुष्टि करें कि ऐप्लिकेशन, एक सेकंड के अंदर ऑडियो चलाना शुरू कर देता है या यह विज़ुअल इंडिकेटर दिखाता है कि ऑडियो डेटा को चलाने के लिए तैयार किया जा रहा है.
T-Audio_Focus_Request Audio_Focus_Request ऑडियो चलाना शुरू करें. ऐप्लिकेशन को ऑडियो फ़ोकस का अनुरोध करना चाहिए. ऑडियो चलना बंद होने पर, ऐप्लिकेशन को ऑडियो फ़ोकस छोड़ देना चाहिए. Android 12 (एपीआई लेवल 31) और इसके बाद के वर्शन को टारगेट करने वाले ऐप्लिकेशन के लिए, यह प्रोसेस अपने-आप होती है.
T-Audio_Focus_Change Audio_Focus_Change ऑडियो चलाना शुरू करें. किसी दूसरे ऐप्लिकेशन में ऑडियो प्लेबैक शुरू करें. आपके ऐप्लिकेशन को ऑडियो फ़ोकस में बदलाव का जवाब देना चाहिए. साथ ही, ऑडियो प्लेबैक बंद कर देना चाहिए या प्लेबैक का वॉल्यूम कम कर देना चाहिए.
T-Audio_Playback_Background Audio_Playback_Background

ऑडियो चलाना शुरू करें. फ़ोरग्राउंड ऐप्लिकेशन के तौर पर, किसी दूसरे ऑडियो के अलावा किसी ऐप्लिकेशन का इस्तेमाल करें. ऐप्लिकेशन को बैकग्राउंड में ऑडियो चलाना जारी रखना चाहिए. साथ ही, स्टेटस बार में सूचना दिखानी चाहिए. पुष्टि करें कि सूचना में दिखाए गए कंट्रोल का इस्तेमाल करके, प्लेबैक को मैनेज किया जा सकता है.

डिवाइस की स्क्रीन लॉक करो. ऐप्लिकेशन को बैकग्राउंड में ऑडियो चलाना जारी रखना चाहिए. साथ ही, उसे लॉक स्क्रीन पर एक सूचना दिखानी चाहिए. पुष्टि करें कि सूचना में दिखाए गए कंट्रोल का इस्तेमाल करके, प्लेबैक को मैनेज किया जा सकता है.

T-Audio_Notification_Style Audio_Notification_Style ऑडियो चलाना शुरू करें. फ़ोरग्राउंड ऐप्लिकेशन के तौर पर, किसी दूसरे नॉन-ऑडियो ऐप्लिकेशन के साथ इंटरैक्ट करें. पुष्टि करें कि आपका ऐप्लिकेशन बैकग्राउंड में ऑडियो चला रहा हो और उसने MediaStyle स्टाइल वाली सूचना बनाई हो. मीडिया कंट्रोल के साथ अच्छी तरह से काम करना लेख पढ़ें.
T-Audio_Playback_Resume Audio_Playback_Resume ऑडियो चलाना शुरू करें. फ़ोरग्राउंड ऐप्लिकेशन के तौर पर, किसी दूसरे नॉन-ऑडियो ऐप्लिकेशन के साथ इंटरैक्ट करें. अपने ऐप्लिकेशन के साथ इंटरैक्ट करके, उसे सबसे ऊपर दिखने वाला ऐप्लिकेशन बनाएं. ऑडियो फिर से शुरू होना चाहिए या वॉल्यूम पहले जैसा होना चाहिए. इसके अलावा, ऐप्लिकेशन को उपयोगकर्ता को यह बताना चाहिए कि वीडियो चलाने की सुविधा रोक दी गई है.

वीडियो

ID सुविधा ब्यौरा
T-Video_PiP Video_PiP ऐप्लिकेशन में पिक्चर में पिक्चर मोड में वीडियो चलाने की सुविधा चालू करें.
T-Video_Encoding Video_Encoding पुष्टि करें कि ऐप्लिकेशन, HEVC वीडियो कंप्रेशन स्टैंडर्ड का इस्तेमाल करके वीडियो को कोड में बदलता है.
T-Video_Playback_Background Video_Playback_Background वीडियो चलाना शुरू करें. ऐप्लिकेशन की विंडो को छोटा करें. इसके बाद, ऐप्लिकेशन की विंडो को बैकग्राउंड में ले जाने के लिए, कोई दूसरा ऐप्लिकेशन खोलें. डेस्कटॉप मोड की सुविधा वाले डिवाइसों पर, ऐप्लिकेशन विंडो को दिखने वाले डेस्कटॉप से हटा दें. पुष्टि करें कि सभी मामलों में, वीडियो बिना किसी रुकावट के चलता रहे.

शेयर करें

ID सुविधा ब्यौरा
T-System_Sharesheet System_Sharesheet कोई इंटेंट बनाएं और इंटेंट को आर्ग्युमेंट के तौर पर इस्तेमाल करके, startActivity() को कॉल करके कोई गतिविधि शुरू करें. Android की शेयरशीट का इस्तेमाल करना लेख पढ़ें. आपके ऐप्लिकेशन में Android की शेयरशीट दिखनी चाहिए.

बैकग्राउंड सेवाएं

ID सुविधा ब्यौरा
T-Background_Service_Optimization Background_Service_Optimization

अपने ऐप्लिकेशन की सभी मुख्य सुविधाओं का इस्तेमाल करें. पुष्टि करें कि बैकग्राउंड में लंबे समय तक चलने वाली कोई सेवा शुरू न की गई हो.

अपने ऐप्लिकेशन को बैकग्राउंड में भेजने के लिए, किसी दूसरे ऐप्लिकेशन पर स्विच करें. सेटिंग पर जाएं और देखें कि बैकग्राउंड में कोई सेवा चल रही है या नहीं. Android 4.0 और इसके बाद के वर्शन वाले डिवाइसों पर, ऐप्लिकेशन स्क्रीन पर जाएं. इसके बाद, चल रहे हैं टैब में जाकर ऐप्लिकेशन ढूंढें.

परफ़ॉर्मेंस और स्थिरता

परफ़ॉर्मेंस, स्थिरता, और अच्छी क्वालिटी वाले विज़ुअल की पुष्टि करें.

परफ़ॉर्मेंस

ID सुविधा ब्यौरा
T-App_Startup_Time App_Startup_Time अपना ऐप्लिकेशन शुरू करें. पुष्टि करें कि ऐप्लिकेशन तेज़ी से लोड होता हो. अगर ऐप्लिकेशन को लोड होने में दो सेकंड से ज़्यादा समय लगता है, तो प्रोग्रेस इंडिकेटर या इसी तरह का कोई अन्य संकेत दें.
T-Rendering_Performance Rendering_Performance अपने ऐप्लिकेशन की सभी मुख्य सुविधाओं का इस्तेमाल करें. पुष्टि करें कि ऐप्लिकेशन, हर सेकंड कम से कम 60 फ़्रेम रेंडर करता हो. अपने ऐप्लिकेशन की जांच करने के लिए, प्रोफ़ाइल एचडब्ल्यूयूआई रेंडरिंग विकल्प का इस्तेमाल करें.
T-StrictMode_Compliance StrictMode_Compliance

अपने ऐप्लिकेशन में StrictMode को चालू करें. सभी मुख्य सुविधाओं का इस्तेमाल करें. पुष्टि करें कि ऐप्लिकेशन से StrictMode परफ़ॉर्मेंस से जुड़ी कोई चेतावनी नहीं मिलती है. इसका मतलब है कि ऐप्लिकेशन की जांच करते समय, लाल रंग की कोई फ़्लैश नहीं दिखती है. लाल रंग की फ़्लैश, स्टोरेज, नेटवर्क ऐक्सेस या मेमोरी मैनेजमेंट (जैसे, मेमोरी लीक) से जुड़ी गड़बड़ी के बारे में बताती है.

गारबेज कलेक्शन और उपयोगकर्ता अनुभव पर इसके असर पर ध्यान दें.

ऐप्लिकेशन को क्रैश या फ़्रीज़ होने जैसी समस्याओं से बचाना

ID सुविधा ब्यौरा
T-Stability_ANR Stability_ANR अपने ऐप्लिकेशन की सभी मुख्य सुविधाओं का इस्तेमाल करें. पुष्टि करें कि ऐप्लिकेशन क्रैश न हो या यूज़र इंटरफ़ेस (यूआई) थ्रेड को ब्लॉक न करे. ऐसा करने से, एएनआर (ऐंड्रॉइड जवाब नहीं दे रहा है) वाली गड़बड़ियां होती हैं. Google Play की प्री-लॉन्च रिपोर्ट देखें, ताकि ऐप्लिकेशन के स्टेबल न होने से जुड़ी संभावित समस्याओं का पता लगाया जा सके.

SDK टूल

ID सुविधा ब्यौरा
T-Android_Platform_Compatibility Android_Platform_Compatibility अपने ऐप्लिकेशन को Android प्लैटफ़ॉर्म के नए पब्लिक वर्शन पर चलाएं. सभी मुख्य सुविधाओं का इस्तेमाल करें. पुष्टि करें कि ऐप्लिकेशन क्रैश न हो और मुख्य फ़ंक्शन में कोई गड़बड़ी न हो.
T-Target_SDK_Version Target_SDK_Version,
Compile_SDK_Version
Android मेनिफ़ेस्ट फ़ाइल और बिल्ड कॉन्फ़िगरेशन की समीक्षा करें. इससे यह पक्का किया जा सकेगा कि ऐप्लिकेशन को एसडीके के उपलब्ध सबसे नए वर्शन (targetSdk और compileSdk) के हिसाब से बनाया गया हो.
T-SDK_Maintenance SDK_Maintenance अपने ऐप्लिकेशन की build.gradle फ़ाइल में जाकर, पुरानी डिपेंडेंसी देखें.
T-Non_SDK_Interfaces Non_SDK_Interfaces गैर-एसडीके इंटरफ़ेस के इस्तेमाल का पता लगाने के लिए, Android Studio के लिंट टूल का इस्तेमाल करें. टेस्टिंग के अन्य तरीकों के लिए, गैर-एसडीके इंटरफ़ेस पर पाबंदियां देखें.
T-Production_Build_Quality Production_Build_Quality अपने ऐप्लिकेशन की build.gradle फ़ाइल की समीक्षा करें, ताकि यह पता लगाया जा सके कि उसमें कोई डीबग लाइब्रेरी शामिल है या नहीं.

बैटरी

ID सुविधा ब्यौरा
T-Power_Management Power_Management

डोज़ और ऐप्लिकेशन स्टैंडबाय मोड में, ऐप्लिकेशन की सभी मुख्य सुविधाओं का इस्तेमाल करें. पुष्टि करें कि Doze मेंटेनेंस विंडो में और ऐप्लिकेशन के App Standby मोड से बाहर निकलने पर, अलार्म, टाइमर, सूचनाएं, और सिंक करने की सुविधा ठीक से काम करती हो.

ADB कमांड का इस्तेमाल करके, बैटरी बचाने (डोज़) और ऐप्लिकेशन स्टैंडबाय की सुविधा की जांच करें. ज़रूरी शर्तों और दिशा-निर्देशों के लिए, बैटरी बचाने (डोज़) और ऐप्लिकेशन स्टैंडबाय की सुविधा की जांच करना लेख पढ़ें.

बैटरी के अचानक खत्म होने की समस्या का पता लगाने के लिए, Android Studio Power Profiler या Battery Historian टूल का इस्तेमाल करें. साथ ही, बैकग्राउंड में काम करने वाले ऐप्लिकेशन की योजना बनाएं.

निजता और सुरक्षा

उपयोगकर्ताओं की उम्मीद के मुताबिक, निजता और सुरक्षा से जुड़े उपायों की जांच करें.

अनुमतियां

ID सुविधा ब्यौरा
T-Minimize_Permissions Minimize_Permissions मेनिफ़ेस्ट फ़ाइल में, रनटाइम के दौरान, और डिवाइस पर ऐप्लिकेशन की सेटिंग (सेटिंग > ऐप्लिकेशन की जानकारी) में जाकर, अपने ऐप्लिकेशन के लिए ज़रूरी सभी अनुमतियों की समीक्षा करें.
T-Sensitive_Permissions Sensitive_Permissions अपने ऐप्लिकेशन की उन सुविधाओं का इस्तेमाल करें जिनके लिए अनुमतियां मांगी जाती हैं. पुष्टि करें कि ऐप्लिकेशन, संवेदनशील डेटा या सेवाओं को ऐक्सेस करने की अनुमति सिर्फ़ ऐप्लिकेशन के मुख्य इस्तेमाल के मामलों के लिए मांगता है. पुष्टि करें कि उपयोगकर्ता को संवेदनशील डेटा और सेवाओं को अनुमति देने के नतीजों के बारे में साफ़ तौर पर बताया गया हो.
T-Runtime_Permissions Runtime_Permissions अपने ऐप्लिकेशन की उन सभी सुविधाओं का इस्तेमाल करें जिनके लिए अनुमतियां ज़रूरी हैं. पुष्टि करें कि अनुमतियों का अनुरोध देर से किया गया हो. इसका मतलब है कि ऐप्लिकेशन के शुरू होने के दौरान नहीं, बल्कि सिर्फ़ तब किया गया हो, जब सुविधाओं को ऐक्सेस किया गया हो.
T-Permission_Rationale Permission_Rationale अपने ऐप्लिकेशन की उन सभी सुविधाओं का इस्तेमाल करें जिनके लिए अनुमतियां ज़रूरी हैं. पुष्टि करें कि ऐप्लिकेशन में, उपयोगकर्ता को यह बताया गया हो कि अनुमतियों की ज़रूरत क्यों है.
T-Graceful_Degradation Graceful_Degradation अपने ऐप्लिकेशन की उन सभी सुविधाओं का इस्तेमाल करें जिनके लिए अनुमतियां ज़रूरी हैं. अनुमतियां अस्वीकार करें या रद्द करें. पुष्टि करें कि ऐप्लिकेशन में इस्तेमाल का कोई दूसरा तरीका उपलब्ध है और वह काम करता है.

डेटा और फ़ाइलें

ID सुविधा ब्यौरा
T-Sensitive_Data_Storage Sensitive_Data_Storage इंटरनल स्टोरेज में सेव किया गया सारा डेटा देखें. पुष्टि करें कि बाहरी तौर पर सेव किया गया डेटा संवेदनशील नहीं है.
T-Sensitive_Data_Handling Sensitive_Data_Storage देखें कि बाहरी स्टोरेज से लोड किए गए डेटा को कैसे मैनेज और प्रोसेस किया जाता है.
T-Sensitive_Data_Logging Sensitive_Data_Logging डिवाइस के लॉग की निगरानी करते समय, ऐप्लिकेशन की सभी मुख्य सुविधाओं का इस्तेमाल करें. पुष्टि करें कि उपयोगकर्ता की कोई भी निजी जानकारी लॉग न की गई हो.
T-Hardware_IDs Hardware_IDs ऐप्लिकेशन की सभी मुख्य सुविधाओं का इस्तेमाल करें. पुष्टि करें कि ऐप्लिकेशन, पहचान के मकसद से किसी भी हार्डवेयर आईडी का इस्तेमाल नहीं करता है. जैसे, आईएमईआई.

पहचान

ID सुविधा ब्यौरा
T-Autofill_Hints Autofill_Hints ऐप्लिकेशन की उन सभी सुविधाओं का इस्तेमाल करें जिनके लिए उपयोगकर्ता के इनपुट की ज़रूरत होती है. पुष्टि करें कि ऐप्लिकेशन, खाता क्रेडेंशियल और अन्य संवेदनशील जानकारी जैसे डेटा के लिए, इनपुट फ़ील्ड को अपने-आप भरने के लिए सुझाव देता है.
T-Credential_Manager Credential_Manager अपने ऐप्लिकेशन में साइन इन करें. पुष्टि करें कि ऐप्लिकेशन में Credential Manager for Android इंटिग्रेट किया गया हो. इससे साइन इन करने का एक जैसा अनुभव मिलता है. साथ ही, पासकी, फ़ेडरेटेड आइडेंटिटी, और पासवर्ड के लिए सहायता मिलती है.
T-Biometric_Authentication Biometric_Authentication ऐप्लिकेशन की उन सभी सुविधाओं का इस्तेमाल करें जिनके लिए पुष्टि करना ज़रूरी है. पुष्टि करें कि ऐप्लिकेशन, वित्तीय लेन-देन या संवेदनशील जानकारी को सुरक्षित रखता हो. जैसे, उपयोगकर्ता के ज़रूरी दस्तावेज़ों को बायोमेट्रिक पुष्टि की मदद से सुरक्षित रखना.

ऐप्लिकेशन कॉम्पोनेंट

ID सुविधा ब्यौरा
T-Component_Export Component_Export Android मेनिफ़ेस्ट फ़ाइल में तय किए गए सभी ऐप्लिकेशन कॉम्पोनेंट की एक्सपोर्ट स्थिति की समीक्षा करें. एक्सपोर्ट की गई प्रॉपर्टी को सभी कॉम्पोनेंट के लिए साफ़ तौर पर सेट किया जाना चाहिए.
T-Component_Permissions Component_Permissions मेनिफ़ेस्ट फ़ाइल में, रनटाइम के दौरान, और डिवाइस पर ऐप्लिकेशन की सेटिंग (सेटिंग > ऐप्लिकेशन की जानकारी) में जाकर, अपने ऐप्लिकेशन के लिए ज़रूरी सभी अनुमतियों की समीक्षा करें.
T-Component_Protection Component_Protection Android मेनिफ़ेस्ट फ़ाइल में तय किए गए सभी कॉन्टेंट प्रोवाइडर की समीक्षा करें. पक्का करें कि हर सेवा देने वाली कंपनी के पास सही protectionLevel हो.

नेटवर्किंग

ID सुविधा ब्यौरा
T-Network_Security_Traffic Network_Security_Traffic ऐसा नेटवर्क सुरक्षा कॉन्फ़िगरेशन सेट करें जो cleartext ट्रैफ़िक को बंद करता हो. इसके बाद, ऐप्लिकेशन की जांच करें.
T-Network_Security_Configuration Network_Security_Configuration ऐप्लिकेशन के नेटवर्क सुरक्षा कॉन्फ़िगरेशन की समीक्षा करें. पुष्टि करें कि कॉन्फ़िगरेशन पर कोई भी लिंट चेक फ़ेल न हो.
T-Security_Provider_Initialization Security_Provider_Initialization पुष्टि करें कि Google Play services के लिए, ऐप्लिकेशन के शुरू होने पर सुरक्षा सेवा देने वाली कंपनी को शुरू किया गया हो.

WebViews

ID सुविधा ब्यौरा
T-WebView_Asset_Loader WebView_Asset_Loader ऐप्लिकेशन के नेटवर्क सुरक्षा कॉन्फ़िगरेशन की समीक्षा करें. पुष्टि करें कि कॉन्फ़िगरेशन पर कोई भी लिंट चेक फ़ेल न हो.
T-WebView_JavaScript WebView_JavaScript हर WebView के लिए, ऐसे पेज पर जाएं जिसके लिए JavaScript की ज़रूरत होती है.
T-WebView_Navigation WebView_Asset_Loader,
WebView_JavaScript
हर वेबव्यू में, उन साइटों और कॉन्टेंट पर जाने की कोशिश करें जिन्हें आपका ऐप्लिकेशन सीधे तौर पर लोड नहीं करता है.

प्लान लागू करना

ID सुविधा ब्यौरा
T-App_Bundles App_Bundles पुष्टि करें कि ऐप्लिकेशन, Android ऐप्लिकेशन बंडल का इस्तेमाल करता हो. साथ ही, वह ऐप्लिकेशन के APK के बाहर से कोड को डाइनैमिक तरीके से लोड न करता हो.

क्रिप्टोग्राफी

ID सुविधा ब्यौरा
T-Cryptographic_Algorithms Cryptographic_Algorithms पुष्टि करें कि ऐप्लिकेशन, प्लैटफ़ॉर्म पर उपलब्ध मज़बूत क्रिप्टोग्राफ़िक एल्गोरिदम और रैंडम नंबर जनरेटर का इस्तेमाल करता हो. यह भी पुष्टि करें कि ऐप्लिकेशन में कस्टम एल्गोरिदम लागू न किए गए हों.

Google Play

पुष्टि करें कि आपका ऐप्लिकेशन Google Play के लिए तैयार है.

नीतियां

ID सुविधा ब्यौरा
T-Play_Content_Policies Play_Content_Policies,
Play_Content_Rating,
Play_User_Reviews
अपनी डेवलपर प्रोफ़ाइल, ऐप्लिकेशन की जानकारी, स्क्रीनशॉट, फ़ीचर ग्राफ़िक, कॉन्टेंट रेटिंग, और उपयोगकर्ता के सुझाव या राय देखने के लिए, Google Play कंसोल में साइन इन करें.

ऐप्लिकेशन की ज़्यादा जानकारी वाला पेज

ID सुविधा ब्यौरा
T-Play_Feature_Graphic Play_Feature_Graphic अपने फ़ीचर ग्राफ़िक और स्क्रीनशॉट डाउनलोड करें. इसके बाद, उन्हें उन डिवाइसों और फ़ॉर्म फ़ैक्टर के डिसप्ले साइज़ के हिसाब से छोटा करें जिन्हें आपने टारगेट किया है.
T-Play_Graphic_Assets Play_Feature_Graphic,
Play_Device_References,
Play_Misleading_Content
ऐप्लिकेशन या एक्सपैंशन फ़ाइल डाउनलोड में पैकेज किए गए सभी ग्राफ़िकल ऐसेट, मीडिया, टेक्स्ट, कोड लाइब्रेरी, और अन्य कॉन्टेंट की समीक्षा करें.

संग्रहित करें

ऐप्लिकेशन की क्वालिटी से जुड़े मुख्य दिशा-निर्देशों के पिछले वर्शन: