Google Play के टारगेट एपीआई लेवल की ज़रूरी शर्तें पूरी करें

जब कोई APK अपलोड किया जाता है, तो यह ज़रूरी है कि वह Google Play के टारगेट एपीआई लेवल की ज़रूरी शर्तों को पूरा करे.

31 अगस्त, 2026 से:

  • Google Play पर सबमिट किए जाने वाले सभी नए ऐप्लिकेशन और ऐप्लिकेशन के अपडेट को, Android 16 (एपीआई लेवल 36) या इसके बाद के वर्शन को टारगेट करना होगा. हालांकि, Wear OS और Android Automotive OS के ऐप्लिकेशन के लिए, Android 15 (एपीआई लेवल 35) या इसके बाद के वर्शन को टारगेट करना होगा. साथ ही, Android TV और Android XR के ऐप्लिकेशन के लिए, Android 14 (एपीआई लेवल 34) या इसके बाद के वर्शन को टारगेट करना होगा.
  • आपको सभी मौजूदा ऐप्लिकेशन में Android 15 (एपीआई लेवल 35) या इसके बाद के वर्शन को टारगेट करना होगा, ताकि नए उपयोगकर्ता आपके ऐप्लिकेशन के टारगेट एपीआई लेवल से ज़्यादा के Android OS वर्शन वाले डिवाइसों पर उनका इस्तेमाल करना जारी रख सकें. Android 14 (एपीआई लेवल 34) या इससे पहले के वर्शन को टारगेट करने वाले ऐप्लिकेशन, सिर्फ़ आपके ऐप्लिकेशन के टारगेट एपीआई लेवल के बराबर या उससे नीचे के Android OS वर्शन वाले डिवाइसों के लिए उपलब्ध होंगे. इनमें Wear OS, Android TV, और Android XR के लिए Android 13 (एपीआई लेवल 33) या इससे पहले के वर्शन और Android Automotive OS के लिए Android 12 (एपीआई लेवल 31) या इससे पहले के वर्शन को टारगेट करने वाले ऐप्लिकेशन शामिल हैं.

अगर आपको ऐप्लिकेशन अपडेट करने के लिए ज़्यादा समय चाहिए, तो आपके पास 1 नवंबर, 2026 तक के लिए एक्सटेंशन का अनुरोध करने का विकल्प है. अपने ऐप्लिकेशन का अपडेट सबमिट करने की समयसीमा बढ़ाने का अनुरोध करने के लिए फ़ॉर्म, इस साल के आखिर में Play Console में ऐक्सेस किए जा सकेंगे.

ये ज़रूरी शर्तें, जिन ऐप्लिकेशन पर लागू नहीं होतीं:

  • हमेशा निजी रहने वाले ऐप्लिकेशन, जो किसी खास संगठन में काम करने वाले उपयोगकर्ताओं के लिए ही बनाए गए हों.

नए एसडीके को टारगेट क्यों करना चाहिए?

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

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

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

Android 12 और इसके बाद के वर्शन (एपीआई लेवल 31) से नए वर्शन पर माइग्रेट करना

Android के नए वर्शन को टारगेट करने के लिए, अपने ऐप्लिकेशन को अपडेट करने के लिए, व्यवहार में हुए बदलावों की सूची देखें:

Android 11 (एपीआई लेवल 30) से Android 12 (एपीआई लेवल 31) पर माइग्रेट करना

सुरक्षा और अनुमतियां

  • ब्लूटूथ: आपको BLUETOOTH और BLUETOOTH_ADMIN अनुमतियों के एलान को BLUETOOTH_SCAN, BLUETOOTH_ADVERTISE या BLUETOOTH_CONNECT अनुमतियों के एलान से बदलना होगा. अब आपको ब्लूटूथ से जुड़ी कार्रवाइयों के लिए, LOCATION रनटाइम की अनुमति के अनुरोध करने की ज़रूरत नहीं है.
  • जगह की जानकारी: उपयोगकर्ता, ऐप्लिकेशन से सिर्फ़ जगह की अनुमानित जानकारी पाने का अनुरोध कर सकते हैं. ACCESS_FINE_LOCATION का अनुरोध करते समय, आपको ACCESS_COARSE_LOCATION अनुमति का अनुरोध करना होगा.
  • हाइबरनेशन: अगर ऐप्लिकेशन को कुछ समय तक इस्तेमाल नहीं किया जाता है, तो उन्हें हाइबरनेशन मोड में डाला जा सकता है. हाइबरनेशन मोड में, आपके ऐप्लिकेशन की रनटाइम अनुमतियां और कैश मेमोरी रीसेट हो जाती है. साथ ही, आपके पास टास्क या सूचनाएं चलाने का विकल्प नहीं होता. अपने ऐप्लिकेशन के हाइबरनेशन की स्थिति देखें.
  • PendingIntent ऑब्जेक्ट की म्यूटेबिलिटी: आपको अपने ऐप्लिकेशन के बनाए गए हर PendingIntent ऑब्जेक्ट की म्यूटेबिलिटी की जानकारी देनी होगी.

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

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

परफ़ॉर्मेंस

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

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

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

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

Android 12 (एपीआई लेवल 31) को टारगेट करने वाले ऐप्लिकेशन पर असर डालने वाले बदलावों का पूरा सेट देखें.

Android 11 (एपीआई लेवल 30) से पहले के वर्शन से माइग्रेट करना

Android का वह वर्शन चुनें जिससे आपको माइग्रेट करना है:

Android 5 (एपीआई लेवल 21) पर माइग्रेट करना

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

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

Android 6 (एपीआई लेवल 23) पर माइग्रेट करना

Android 6.0 और प्लैटफ़ॉर्म के इसके बाद के वर्शन को टारगेट करने वाले ऐप्लिकेशन पर ये बातें लागू होती हैं:

  • रनटाइम अनुमतियां

    • खतरनाक अनुमतियां सिर्फ़ रनटाइम में दी जाती हैं. आपके यूज़र इंटरफ़ेस (यूआई) फ़्लो में, इन अनुमतियों को स्वीकार करने की सुविधा होनी चाहिए.

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

Android 6.0 (एपीआई लेवल 23) में किए गए सभी बदलावों की सूची देखने के लिए, प्लैटफ़ॉर्म के उस वर्शन के लिए व्यवहार में हुए बदलाव पेज देखें.

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

Android 7 (एपीआई लेवल 24) पर माइग्रेट करना

Android 7.0 और इसके बाद के वर्शन को टारगेट करने वाले ऐप्लिकेशन पर ये बातें लागू होती हैं:

  • बैटरी सेवर मोड और ऐप्लिकेशन स्टैंडबाय

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

    जब कोई डिवाइस, बैटरी बचाने (डोज़) और ऐप स्टैंडबाय मोड में होता है, तो सिस्टम इस तरह काम करता है:

    • इससे नेटवर्क ऐक्सेस पर पाबंदी लगती है
    • अलार्म, सिंक, और टास्क को कुछ समय के लिए रोकता है
    • यह सेटिंग, जीपीएस और वाई-फ़ाई स्कैन पर पाबंदी लगाती है
    • यह सामान्य प्राथमिकता वाले Firebase क्लाउड से मैसेज को सीमित करता है.
  • अनुमति में बदलाव

    • सिस्टम, ऐप्लिकेशन की निजी डायरेक्ट्री के ऐक्सेस पर पाबंदी लगाता है.
    • अपने ऐप्लिकेशन के बाहर file:// यूआरआई को दिखाने पर, FileUriExposedException ट्रिगर होता है. अगर आपको अपने ऐप्लिकेशन से बाहर फ़ाइलें शेयर करनी हैं, तो FileProvider लागू करें
  • सिस्टम, नॉन-एनडीके लाइब्रेरी से लिंक करने की अनुमति नहीं देता.

Android 7.0 (एपीआई लेवल 24) में किए गए सभी बदलावों की सूची देखने के लिए, प्लैटफ़ॉर्म के उस वर्शन के लिए व्यवहार में हुए बदलाव पेज देखें.

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

Android 8 (एपीआई लेवल 26) पर माइग्रेट करना

Android 8.0 और प्लैटफ़ॉर्म के इसके बाद के वर्शन को टारगेट करने वाले ऐप्लिकेशन पर, ये बातें लागू होती हैं:

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

Android 8.0 (एपीआई लेवल 26) में किए गए सभी बदलावों की सूची देखने के लिए, प्लैटफ़ॉर्म के उस वर्शन के लिए व्यवहार में हुए बदलाव पेज देखें.

Android 8 (एपीआई 26) से Android 9 (एपीआई 28) पर माइग्रेट करना

Android 9.0 (एपीआई लेवल 28) में किए गए सभी बदलावों की सूची देखने के लिए, बदलाव देखें.

Android 9 (एपीआई लेवल 28) से Android 10 (एपीआई लेवल 29) पर माइग्रेट करना

  • फ़ुल-स्क्रीन इंटेंट के साथ सूचनाएं
    • सामान्य अनुमति का अनुरोध करना होगा USE_FULL_SCREEN_INTENT (रनटाइम की अनुमति नहीं).
  • फ़ोल्ड किए जा सकने वाले डिवाइसों और बड़ी स्क्रीन वाले डिवाइसों के लिए सहायता
    • अब एक साथ कई ऐक्टिविटी "फिर से शुरू की गई" स्थिति में हो सकती हैं. हालांकि, फ़ोकस सिर्फ़ एक ऐक्टिविटी पर होता है.
      • इस बदलाव का असर onResume() और onPause() के व्यवहार पर पड़ता है.
      • लाइफ़साइकल का नया कॉन्सेप्ट "टॉपमोस्ट रीज़्यूम्ड". इसे onTopResumedActivityChanged() की सदस्यता लेकर पता लगाया जा सकता है.
        • सिर्फ़ एक गतिविधि को "सबसे ऊपर फिर से शुरू किया गया" के तौर पर मार्क किया जा सकता है.
    • जब resizeableActivity को false पर सेट किया जाता है, तब ऐप्लिकेशन minAspectRatio को भी सेट कर सकते हैं. इससे ऐप्लिकेशन, कम चौड़ाई वाले आसपेक्ट रेशियो पर अपने-आप लेटरबॉक्स हो जाता है.
  • निजता से जुड़े बदलाव
    • स्कोप किए गए स्टोरेज
      • बाहरी स्टोरेज का ऐक्सेस सिर्फ़ ऐप्लिकेशन के लिए खास तौर पर बनाई गई डायरेक्ट्री और ऐप्लिकेशन के बनाए गए खास तरह के मीडिया तक सीमित होता है.
    • ऐप्लिकेशन के बैकग्राउंड में चलने के दौरान, जगह की जानकारी को ऐक्सेस करने पर पाबंदी लगाई गई है. इसके लिए, ACCESS_BACKGROUND_LOCATION अनुमति ज़रूरी है.
    • रीसेट न किए जा सकने वाले आइडेंटिफ़ायर, जैसे कि आईएमईआई और सीरियल नंबर को ऐक्सेस करने पर पाबंदी.
    • शारीरिक गतिविधि से जुड़ी जानकारी का सीमित ऐक्सेस. जैसे, उपयोगकर्ता के कदमों की संख्या. इसके लिए, ACTIVITY_RECOGNITION अनुमति की ज़रूरत होती है.
    • टेलीफ़ोनी, ब्लूटूथ, और वाई-फ़ाई से जुड़े कुछ एपीआई का ऐक्सेस सीमित कर दिया गया है. इसके लिए, ACCESS_FINE_LOCATION अनुमति ज़रूरी है.
    • वाई-फ़ाई सेटिंग के ऐक्सेस पर पाबंदी लगी है

Android 10 (एपीआई लेवल 29) से Android 11 (एपीआई लेवल 30) पर माइग्रेट करना

Android 11 (एपीआई लेवल 30) में किए गए सभी बदलावों की सूची देखने के लिए, व्यवहार में हुए बदलाव पेज देखें.

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

अपने ऐप्लिकेशन को अप-टू-डेट बनाना

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

  • कैमरे का ज़्यादा से ज़्यादा फ़ायदा पाने के लिए, CameraX का इस्तेमाल करें. यह बीटा वर्शन में उपलब्ध है.
  • सबसे सही तरीकों का पालन करने, छोटे-मोटे बदलाव वाले कोड लिखने से बचने, और मुश्किल टास्क आसान बनाने के लिए, Jetpack कॉम्पोनेंट का इस्तेमाल करें. इससे, आपको अपनी ज़रूरत के कोड पर फ़ोकस करने में मदद मिलेगी.
  • कम कोड में और तेज़ी से बेहतर ऐप्लिकेशन लिखने के लिए, Kotlin का इस्तेमाल करें.
  • पक्का करें कि आपने निजता से जुड़ी ज़रूरी शर्तों का पालन किया है. साथ ही, सबसे सही तरीके भी अपनाए हैं.
  • अपने ऐप्लिकेशन में गहरे रंग वाली थीम की सुविधा जोड़ें.
  • अपने ऐप्लिकेशन में जेस्चर नेविगेशन की सुविधा जोड़ें.
  • अपने ऐप्लिकेशन को Google Cloud Messaging (GCM) से Firebase Cloud Messaging के नए वर्शन पर माइग्रेट करें.
  • विंडो को बेहतर तरीके से मैनेज करने की सुविधा का फ़ायदा पाएं.
    • हार्डवेयर में हुई हाल ही की तरक्की का फ़ायदा पाने के लिए, बड़े आसपेक्ट रेशियो (16:9 से ज़्यादा) के साथ काम करता है. पक्का करें कि आपका ऐप्लिकेशन, स्क्रीन पर मौजूद जगह के हिसाब से अपने साइज़ को बदलता हो. ज़्यादा से ज़्यादा आसपेक्ट रेशियो का एलान सिर्फ़ तब करें, जब कोई और विकल्प न हो. ज़्यादा से ज़्यादा आसपेक्ट रेशियो के बारे में ज़्यादा जानने के लिए, स्क्रीन पर ऐप्लिकेशन के काम करने से जुड़ी पाबंदियों के बारे में जानकारी देना लेख पढ़ें.
    • अपने ऐप्लिकेशन में मल्टी-विंडो की सुविधा जोड़ें. इससे ऐप्लिकेशन की प्रॉडक्टिविटी बढ़ेगी और कई डिसप्ले मैनेज किए जा सकेंगे.
    • अगर ऐप्लिकेशन को छोटा करने पर, उपयोगकर्ता अनुभव बेहतर होता है, तो पिक्चर में पिक्चर मोड की सुविधा जोड़ें.
      • डिसप्ले कटआउट वाले डिवाइसों के लिए ऑप्टिमाइज़ करें.
      • स्टेटस बार की ऊंचाई का अनुमान न लगाएं. इसके बजाय, WindowInsets और View.OnApplyWindowInsetsListener का इस्तेमाल करें. ज़्यादा जानने के लिए, droidcon NYC 2017 का वीडियो देखें.
      • यह न मान लें कि ऐप्लिकेशन के पास पूरी विंडो है. इसके बजाय, View.getLocationOnScreen() का इस्तेमाल करने के बजाय, View.getLocationInWindow() का इस्तेमाल करके इसकी जगह की पुष्टि करें. * MotionEvent को हैंडल करते समय, MotionEvent.getX() और MotionEvent.getY() का इस्तेमाल करें. MotionEvent.getRawX() और MotionEvent.getRawY() का इस्तेमाल न करें.

अपने एसडीके और लाइब्रेरी देखें और उन्हें अपडेट करें

पक्का करें कि तीसरे पक्ष के एसडीके टूल की डिपेंडेंसी, API 31 के साथ काम करती हों: एसडीके टूल की सेवा देने वाली कुछ कंपनियां, इसे अपने मेनिफ़ेस्ट में पब्लिश करती हैं. हालांकि, अन्य कंपनियों के लिए इसकी ज़्यादा जांच करनी होगी. अगर एपीआई 31 के साथ काम न करने वाले एसडीके का इस्तेमाल किया जा रहा है, तो एसडीके बनाने वाली कंपनी के साथ मिलकर इस समस्या को ठीक करें.

इसके अलावा, ध्यान दें कि आपके ऐप्लिकेशन या गेम का targetSdkVersion, Android प्लैटफ़ॉर्म की निजी लाइब्रेरी के ऐक्सेस को सीमित कर सकता है. ज़्यादा जानकारी के लिए, NDK ऐप्लिकेशन को प्लैटफ़ॉर्म लाइब्रेरी से लिंक करना लेख पढ़ें.

आपको Android Support Library के उस वर्शन में मौजूद पाबंदियों की भी पुष्टि करनी चाहिए जिसका इस्तेमाल किया जा रहा है. हमेशा की तरह, आपको यह पक्का करना होगा कि Android Support Library का मेजर वर्शन और आपके ऐप्लिकेशन का compileSdkVersion एक-दूसरे के साथ काम करता हो.

हमारा सुझाव है कि आप targetSdkVersion को सपोर्ट लाइब्रेरी के मेजर वर्शन से कम या उसके बराबर चुनें. हमारा सुझाव है कि आप हाल ही के ऐसे सपोर्ट लाइब्रेरी वर्शन पर अपडेट करें जो आपके ऐप्लिकेशन के साथ काम करता हो. इससे आपको नई सुविधाओं का फ़ायदा मिलेगा और गड़बड़ियों को ठीक करने वाले अपडेट मिलते रहेंगे.

अपने ऐप्लिकेशन का परीक्षण करें

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

  • आपका ऐप्लिकेशन, एपीआई लेवल 29 के साथ बिना किसी गड़बड़ी या चेतावनी के कंपाइल होता हो.
  • आपके ऐप्लिकेशन में ऐसी रणनीति होनी चाहिए जिसके तहत, अनुमति के अनुरोधों को अस्वीकार करने पर उपयोगकर्ता को अनुमति के लिए प्रॉम्प्ट किया जा सके. इसके लिए:

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

    • adb का इस्तेमाल करके, अपने टेस्ट के लिए डिवाइस को Doze मोड में रखें. ऐसा तब करें, जब आपका ऐप्लिकेशन चल रहा हो.
      • इस्तेमाल के उन सभी उदाहरणों की जांच करें जिनसे Firebase Cloud Messaging के मैसेज ट्रिगर होते हैं.
      • अलार्म या जॉब का इस्तेमाल करने वाले किसी भी उदाहरण की जांच करें.
      • बैकग्राउंड सेवाओं पर निर्भरता कम करें.
    • अपने ऐप्लिकेशन को ऐप स्टैंडबाय में सेट करना
      • इस्तेमाल के उन सभी उदाहरणों की जांच करें जिनसे Firebase Cloud Messaging के मैसेज ट्रिगर होते हैं.
      • अलार्म का इस्तेमाल करने वाले किसी भी उदाहरण की जांच करें.
  • यह कुकी, नई फ़ोटो / वीडियो लेने की प्रोसेस को मैनेज करती है

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

    • जांच करें कि कॉन्टेंट, दूसरे ऐप्लिकेशन में दिख रहा हो और उससे ऐप्लिकेशन क्रैश न हो रहे हों.

ज़्यादा जानकारी

Google Play Console में ईमेल पाने की सुविधा के लिए ऑप्ट-इन करें, ताकि हम आपको Android और Google Play से जुड़े ज़रूरी अपडेट और सूचनाएं भेज सकें. इनमें पार्टनर के लिए हर महीने जारी होने वाला हमारा न्यूज़लेटर भी शामिल है.