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

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

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

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

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

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 ऐप्लिकेशन का कॉन्टेंट और ऐप्लिकेशन से ऐक्सेस किया गया सभी वेब कॉन्टेंट, हल्के और गहरे रंग वाली थीम, दोनों के साथ काम करता हो.
नेविगेशन
T-Nav:Back ऐप्लिकेशन में बैक बटन नेविगेशन की सुविधा काम करती हो. साथ ही, ऐप्लिकेशन में स्क्रीन पर दिखने वाले बैक बटन के लिए, कस्टम प्रॉम्प्ट का इस्तेमाल न किया गया हो.
T-Nav:Back ऐप्लिकेशन में, वापस जाने और होम स्क्रीन पर जाने के लिए हाथ के जेस्चर (स्पर्श) वाले नेविगेशन की सुविधा काम करती हो.
T-Nav:State,
T-Nav:Back

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

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

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

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

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

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

सुलभता
ऐक्सेस:टारगेट T-Access:Targets टच टारगेट (स्क्रीन के वे हिस्से जहां छूने पर कोई ऐक्शन होता है) कम से कम 48 dp के हों. Material Design के लेआउट और टाइपोग्राफ़ी से जुड़े दिशा-निर्देश देखें.
Access:Contrast T-Access:Contrast

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

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

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

ऐक्सेस:जानकारी 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

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

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

कॉम्पोनेंट:अनुमतियां T-Components:Permissions

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

कॉम्पोनेंट:सुरक्षा T-Components:Protection

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

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

नेटवर्किंग
नेटवर्क:ट्रैफ़िक 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

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

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 परफ़ॉर्मेंस:सख्त

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

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

ऐप्लिकेशन को क्रैश या फ़्रीज़ होने जैसी समस्याओं से बचाना
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
ऐप्लिकेशन या एक्सपैंशन फ़ाइल डाउनलोड में पैकेज की गई सभी ग्राफ़िकल ऐसेट, मीडिया, टेक्स्ट, कोड लाइब्रेरी, और अन्य कॉन्टेंट की समीक्षा करें.

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

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