फ़ोरग्राउंड सेवा और फ़ुल-स्क्रीन इंटेंट के इस्तेमाल की ज़रूरी शर्तों को समझना

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

Android 14 के लिए, फ़ोरग्राउंड सेवा से जुड़ी ज़रूरी शर्तें

Android 14 और उसके बाद के वर्शन पर चलने वाले ऐप्लिकेशन में फ़ोरग्राउंड सेवाओं का इस्तेमाल करने से पहले, नीचे बताई गई कार्रवाइयां करनी होंगी. इससे, बैकग्राउंड में आपके ऐप्लिकेशन के काम करने की वजह को साफ़ तौर पर बताने के साथ-साथ, यह पता करने में भी मदद मिलती है कि किन मामलों में फ़ोरग्राउंड सेवा का इस्तेमाल करना सही है:

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

Play Console में फ़ोरग्राउंड सेवा की जानकारी देना

अगर आपके ऐप्लिकेशन, Android 14 और उसके बाद वाले वर्शन को टारगेट करते हैं, तो आपको ऐप्लिकेशन में इस्तेमाल की गई सभी फ़ोरग्राउंड सेवाओं के टाइप का एलान नए सिरे से करना होगा. इसके लिए, Play Console के ऐप्लिकेशन का कॉन्टेंट पेज (नीति > ऐप्लिकेशन का कॉन्टेंट) पर जाएं.

आपने फ़ोरग्राउंड सेवा के जिस टाइप का एलान किया है उसके लिए आपको ये काम करने होंगे:

  1. ऐप्लिकेशन के उन सभी मुख्य फ़ंक्शन के बारे में बताना होगा जिनके लिए अलग-अलग टाइप की फ़ोरग्राउंड सेवा का इस्तेमाल किया जा रहा है.
  2. उपयोगकर्ताओं पर पड़ने वाले असर के बारे में बताना होगा, अगर:
    • सिस्टम की वजह से टास्क पूरा होने में देर हो जाए (तुरंत शुरू न हो पाए); और/या
    • सिस्टम की वजह से टास्क पूरा होने में कोई रुकावट आ जाए (रुक जाए और/या रीस्टार्ट कर दिया जाए).
  3. फ़ोरग्राउंड सेवा की हर सुविधा की जानकारी देने वाले वीडियो का लिंक जोड़ना होगा. वीडियो में यह बताया जाना चाहिए कि सुविधा को चालू करने के लिए, उपयोगकर्ता को आपके ऐप्लिकेशन में दिए गए कौनसे निर्देशों का पालन करना चाहिए.
  4. फ़ोरग्राउंड सेवा के हर टाइप के लिए, इस्तेमाल किए जाने के हिसाब से उदाहरण चुनें. आपको एक सूची उपलब्ध कराई जाएगी. इसमें पहले से सेट किए गए इस्तेमाल के उदाहरण होंगे. इनमें से आपको अपने हिसाब से उदाहरण चुनने होंगे. इस टेबल में, फ़ोरग्राउंड सेवा के अलग-अलग टाइप के हिसाब से मैप किए गए, इस्तेमाल के चुनिंदा उदाहरण दिए गए हैं. इस सूची में सभी उदाहरण शामिल नहीं किए गए हैं. अगर इस सूची में इस्तेमाल का वह उदाहरण नहीं दिखता है जिसे आपको चुनना है, तो आपके पास इस्तेमाल के उदाहरण को मैन्युअल तरीके से डालने का विकल्प होता है.

    इस्तेमाल के कुछ उदाहरणों में, हम अन्य एपीआई इस्तेमाल करने का सुझाव देते हैं. इस्तेमाल के उदाहरणों और उनके लिए सुझाए गए अन्य एपीआई की सूची देखने के लिए, Android Developers साइट पर जाएं.

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

एफ़जीएस का टाइप इस्तेमाल के उदाहरण जानकारी और उदाहरण
TYPE_CAMERA बैकग्राउंड में कैमरे से स्ट्रीम करना इसका इस्तेमाल करके, बैकग्राउंड में कैमरे को ऐक्सेस करना जारी रखा जा सकता है. उदाहरण के लिए, ऐसे वीडियो चैट ऐप्लिकेशन जो मल्टीटास्किंग (एक साथ कई काम करना) की सुविधा देते हैं.
TYPE_CONNECTED_DEVICE किसी बाहरी डिवाइस पर लगातार डेटा ट्रांसफ़र करना डेटा ट्रांसफ़र के साथ-साथ बाहरी डिवाइसों के साथ इंटरैक्शन किए जा सकते हैं. इसके लिए ब्लूटूथ, एनएफ़सी, आईआर, यूएसबी या इंटरनेट की ज़रूरत होती है. उदाहरण के लिए, पहने जाने वाले, बच्चों की निगरानी करने वाले, कार के लिए बनाए गए डिवाइस, हेडसेट.
TYPE_DATA_SYNC नेटवर्क की मदद से डेटा ट्रांसफ़र करना: डेटा का बैकअप लेने और उसे वापस पाने की सुविधा खास तौर पर, इसे उन सुविधाओं के लिए इस्तेमाल किया जाता है जो उपयोगकर्ता ने शुरू की हों. उदाहरण के लिए, क्लाउड पर बैक अप लेने के लिए कोई खास फ़ोटो चुनना या हर दिन सभी नई फ़ोटो का अपने-आप बैकअप लेने की सुविधा चुनना.
नेटवर्क की मदद से डेटा ट्रांसफ़र करना: डेटा अपलोड या डाउनलोड करना उदाहरण के लिए, डेटा फ़ेच करना और सर्वर साइड प्रोसेसिंग करना.
डेटा को स्थानीय तौर पर प्रोसेस करना: मीडिया ट्रांसकोडिंग ऑडियो और वीडियो जैसी मीडिया फ़ाइलों को एक फ़ॉर्मैट से दूसरे फ़ॉर्मैट में बदलने की प्रक्रिया. उदाहरण के लिए, वीडियो एडिटिंग जैसी सुविधाएं.
डेटा को स्थानीय तौर पर प्रोसेस करना: डेटा को इंपोर्ट या एक्सपोर्ट करना इसमें, एसडी कार्ड से फ़ाइलों को दूसरे डिवाइस में भेजने की सुविधा भी शामिल है.
डेटा को स्थानीय तौर पर प्रोसेस करना: अन्य इसका इस्तेमाल खास तौर पर, उन सुविधाओं के लिए किया जाता है जो उपयोगकर्ता ने शुरू की हों. इसे सिस्टम या सर्वर से शुरू किए गए कामों के लिए इस्तेमाल नहीं किया जाता. उदाहरण के लिए, एन्क्रिप्ट (सुरक्षित) करने का तरीका और साइज़ बदलना.
TYPE_HEALTH स्वास्थ्य की जानकारी से जुड़े डेटा को सिंक करना इसका इस्तेमाल फ़िटनेस कैटगरी में शामिल ऐप्लिकेशन के लिए, स्वास्थ्य की जानकारी से जुड़े डेटा को सिंक करने के लिए किया जा सकता है. यह डेटा, अलग-अलग ऐप्लिकेशन में उपलब्ध हो सकता है या उपयोगकर्ता के डिवाइस पर मौजूद ट्रैकिंग की सुविधा का इस्तेमाल करके इकट्ठा किया गया डेटा हो सकता है. उदाहरण के लिए, कदमों की संख्या गिनने, कसरत को ट्रैक करने के लिए.
TYPE_LOCATION बैकग्राउंड में जगह की जानकारी ऐक्सेस करने के अनुरोध से जुड़े अपडेट: जगह की ऐसी जानकारी जिसे उपयोगकर्ता ने शेयर करने की अनुमति दी है उदाहरण के लिए, Find My Friend और गाड़ी की गतिविधि को ट्रैक करने की सुविधा.
बैकग्राउंड में जगह की जानकारी ऐक्सेस करने के अनुरोध से जुड़े अपडेट: नेविगेशन उदाहरण के लिए, मैप में ड्राइविंग नेविगेशन मोड का इस्तेमाल जारी रखना और राइड शेयर करने के लिए राइड ट्रैकिंग की सुविधा चालू करना.
जियोफ़ेंसिंग इसका इस्तेमाल करके, अपने हिसाब से पैरामीटर तय किए जा सकते हैं.
TYPE_MEDIA_PLAYBACK मीडिया प्लेबैक इसका इस्तेमाल करके, स्ट्रीमिंग के साथ-साथ बैकग्राउंड में ऑडियो या वीडियो चलाना जारी रखा जा सकता है.
पिक्चर में पिक्चर दिखाना इसका इस्तेमाल करके, बैकग्राउंड में वीडियो चलाते समय मीडिया को मिनिमाइज़ किया जा सकता है.
TYPE_MEDIA_PROJECTION MediaProjection API की मदद से, मीडिया या कॉन्टेंट प्रोजेक्शन और स्ट्रीमिंग या रिकॉर्डिंग मीडिया को नॉन-प्राइमरी डिसप्ले या बाहरी डिवाइसों पर प्रोजेक्ट करने के लिए, MediaProjection APIs का इस्तेमाल किया जा सकता है. इनकी मदद से, स्ट्रीमिंग भी की जा सकती है.
TYPE_MICROPHONE बैकग्राउंड में ऑडियो ऐक्सेस करना इसका इस्तेमाल करके ऑडियो इनपुट कैप्चर किया जा सकता है. उदाहरण के लिए, वॉइस रिकॉर्डिंग को सेव किए बिना, वर्चुअल असिस्टेंट के लिए बोलकर दिए जाने वाले निर्देश.
TYPE_PHONE_CALL कॉल करने की सुविधा: Cellular/VoiP/Telecom APIs अलग-अलग डायलर सुविधाओं के साथ काम करने के लिए इस्तेमाल की जाती है.
TYPE_REMOTE_MESSAGING टेक्स्ट कम्यूनिकेशन को किसी दूसरे डिवाइस पर भेजना जब किसी मैसेज सेवा का इस्तेमाल करते समय एक के बजाय किसी दूसरे डिवाइस का इस्तेमाल शुरू किया जाता है, तो इस सेवा की मदद से उपयोगकर्ता बातचीत वहीं से शुरू कर पाते हैं जहां पर उन्होंने छोड़ी थी. उदाहरण के लिए, इस सेवा का इस्तेमाल करके, उपयोगकर्ता किसी वेब क्लाइंट की मदद से टेक्स्ट मैसेज भेज सकते हैं. इसके लिए, उन्हें क्यूआर कोड स्कैन करना होता है, जिससे वेब क्लाइंट और फ़ोन के बीच में कनेक्शन बन जाता है. इसमें, एसएमएस सेवा के अलावा अन्य सेवाएं या सुविधाएं भी शामिल हो सकती हैं.

एलान के लिए इस्तेमाल किया जाने वाला फ़ॉर्म, नवंबर 2023 से उपलब्ध होगा. हम आपको फ़ॉर्म भरने, सुझाव पाने, और ज़रूरत के हिसाब से बदलाव करने के लिए समय देंगे.

Android 14 के लिए, फ़ुल-स्क्रीन इंटेंट के इस्तेमाल से जुड़ी ज़रूरी शर्तें

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

अक्सर पूछे जाने वाले सवाल

Android 14 में फ़ोरग्राउंड सेवाओं में क्या बदलाव हो रहे हैं?

हम फ़ोरग्राउंड सेवा के कई नए टाइप पेश कर रहे हैं. इसमें, फ़ोरग्राउंड सेवा का टाइप और उससे जुड़ी अनुमति के बारे में बताना भी ज़रूरी होगा. जैसे, "कैमरा" के तौर पर फ़ोरग्राउंड सेवा के टाइप का एलान करने पर, आपको FOREGROUND_SERVICE_CAMERA की अनुमति का भी एलान करना होगा. फ़ोरग्राउंड का इस्तेमाल, डिवाइस और नेटवर्क के गलत इस्तेमाल से जुड़ी नीति में बताई गई अन्य ज़रूरी शर्तों के मुताबिक भी होना चाहिए.

मुझे कैसे पता चलेगा कि फ़ोरग्राउंड सेवा का कौनसा टाइप इस्तेमाल करना है?

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

फ़ोरग्राउंड सेवा से जुड़ी अनुमति क्या है और फ़ोरग्राउंड सेवा शुरू करने से पहले, क्या उपयोगकर्ता को इसकी अनुमति देनी होती है?

जब Android 14 को टारगेट करने वाले ऐप्लिकेशन, फ़ोरग्राउंड सेवा का इस्तेमाल करते हैं, तब डेवलपर को फ़ोरग्राउंड सेवा के उस खास टाइप के लिए, फ़ोरग्राउंड सेवा की सही अनुमति का एलान करना होगा. उदाहरण के लिए, अगर आपके ऐप्लिकेशन में फ़ोरग्राउंड सेवा के लिए "जगह की जानकारी" टाइप का इस्तेमाल किया जाता है, तो आपको FOREGROUND_SERVICE_LOCATION अनुमति का एलान करना होगा. फ़ोरग्राउंड सेवा के किसी खास टाइप के लिए ज़रूरी अनुमतियों को सामान्य अनुमतियां कहा जाता है. ऐप्लिकेशन को इंस्टॉल करते समय, इन अनुमतियों के लिए डिफ़ॉल्ट रूप से मंज़ूरी मिल जाती है. उपयोगकर्ता इन अनुमतियों को रद्द नहीं कर सकते.

क्या फ़ोरग्राउंड सेवा से जुड़ी सही अनुमति का एलान करने के अलावा, कुछ और ज़रूरी शर्तें भी शामिल हैं?

फ़ोरग्राउंड सेवा के टाइप के आधार पर, सिस्टम से जुड़ी कुछ और शर्तें भी शामिल हो सकती हैं. रनटाइम की अनुमतियां भी इनमें शामिल हो सकती हैं. इनका इस्तेमाल करने से पहले, उपयोगकर्ताओं की अनुमति की ज़रूरत होती है. उदाहरण के लिए, अगर फ़ोरग्राउंड सेवा के टाइप के तौर पर "जगह की जानकारी" का इस्तेमाल किया जा रहा है, तो उपयोगकर्ता को ACCESS_COARSE_LOCATION या ACCESS_FINE_LOCATION की अनुमति भी देनी होगी. कृपया नई जानकारी के लिए दस्तावेज़ देखें.

अगर फ़ोरग्राउंड के इस्तेमाल से जुड़ा उदाहरण, फ़ोरग्राउंड सेवा के बताए गए किसी भी टाइप से मेल नहीं खाता है, तो क्या होगा?

अगर इस्तेमाल का उदाहरण, फ़ोरग्राउंड सेवा के इस्तेमाल से जुड़ी अन्य ज़रूरी शर्तों को पूरा करता है (जैसा कि नीति में बताया गया है), तो कुछ खास मामलों में फ़ोरग्राउंड सेवा के टाइप के तौर पर TYPE_SPECIAL_USE का एलान किया जा सकता है. फ़ोरग्राउंड सेवा के सभी टाइप को समीक्षा के बाद ही मंज़ूरी दी जाती है.

"उपयोगकर्ता को दिखना" का क्या मतलब है?

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

Android 14 से पहले वाले वर्शन को टारगेट करने पर क्या होगा?

अगर आपके ऐप्लिकेशन में Android 14 से पहले के किसी Android वर्शन को टारगेट किया जा रहा है, तो अपने ऐप्लिकेशन की मेनिफ़ेस्ट फ़ाइल में मौजूद <service> एलिमेंट में जाकर android:foregroundServiceType एट्रिब्यूट का इस्तेमाल करना जारी रखें.

फ़ोरग्राउंड सेवा के dataSync टाइप और उपयोगकर्ता के शुरू किए गए डेटा ट्रांसफ़र में क्या अंतर है?

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

फ़ुल-स्क्रीन इंटेंट के लिए Android 14 में क्या बदलाव हो रहे हैं?

Android 14 के लिए, USE_FULL_SCREEN_INTENT को सामान्य अनुमति वाली कैटगरी से हटाकर खास ऐप्लिकेशन को ऐक्सेस करने की अनुमति वाली कैटगरी में शामिल कर दिया जाएगा. साथ ही, सिर्फ़ उन ऐप्लिकेशन को USE_FULL_SCREEN_INTENT की अनुमति अपने-आप मिलेगी जिनका मुख्य फ़ंक्शन, फ़ोन या वीडियो कॉल रिसीव करने या अलार्म सेट करने जैसे ज़्यादा प्राथमिकता वाले काम करना हो. मुख्य फ़ंक्शन को अपने ऐप्लिकेशन की मुख्य सुविधा के तौर पर समझें. इसके बिना, ऐप्लिकेशन काम नहीं करता या उसे इस्तेमाल नहीं किया जा सकता. हालांकि, सामान्य अनुमति की कैटगरी में हुए बदलाव के बाद भी अन्य ऐप्लिकेशन इस अनुमति का इस्तेमाल कर सकते हैं, लेकिन इसके लिए उन्हें उपयोगकर्ता की अनुमति लेनी होगी.

फ़ुल-स्क्रीन इंटेंट के लिए, Android 14 में होने वाले ये बदलाव कब से लागू होंगे?

ये बदलाव 31 मई, 2024 से लागू होंगे.

अगर मेरा ऐप्लिकेशन, एक अलार्म क्लॉक ऐप्लिकेशन या एक ऐसा ऐप्लिकेशन है जिसमें सिर्फ़ फ़ोन या वीडियो कॉल रिसीव करने की सुविधा है, तो मैं यह कैसे पक्का करूं कि मेरे ऐप्लिकेशन को यह अनुमति अपने-आप मिल जाए?

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

क्या यह उपयोगी था?

हम उसे किस तरह बेहतर बना सकते हैं?
true
खोजें
खोज हटाएं
खोज बंद करें
मुख्य मेन्यू
12316753457649920493
true
खोज मदद केंद्र
true
true
true
true
true
92637
false
false