फ़ुल-स्क्रीन पर सूचनाएं दिखाने की सीमाएं

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

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

Android 13 या उससे पहले के वर्शन पर चलने वाले फ़ोन में इंस्टॉल किए गए ऐप्लिकेशन के लिए, USE_FULL_SCREEN_INTENT अनुमति डिफ़ॉल्ट रूप से चालू रहती है.

उपयोगकर्ता की अनुमति

Android 14 में, ऐप्लिकेशन NotificationManager#canUseFullScreenIntent() का इस्तेमाल करके यह पता लगा सकते हैं कि वे फ़ुल-स्क्रीन सूचनाएं भेज सकते हैं या नहीं. फ़ुल स्क्रीन पर सूचनाएं भेजने के लिए, ऐप्लिकेशन उपयोगकर्ता की अनुमति लेते हैं. इसके लिए, वे ACTION_MANAGE_APP_USE_FULL_SCREEN_INTENT का इस्तेमाल करके, फ़ुल स्क्रीन के इंटेंट मैनेज करें सेटिंग को लॉन्च करते हैं. इसकी जानकारी, पहले चित्र में दी गई है:

fsi-ui

पहली इमेज. ऐप्लिकेशन को फ़ुल-स्क्रीन पर सूचनाएं भेजने की अनुमति देने के लिए यूज़र इंटरफ़ेस (यूआई).

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

ओईएम के लिए ज़रूरी शर्तें

Android 14 में, ऐप्लिकेशन के लिए एफ़एसआई अनुमतियां डिफ़ॉल्ट रूप से चालू होती हैं. OEM को यह बताना होगा कि कौनसे ऐप्लिकेशन एफ़एसआई अनुमतियों की ज़रूरी शर्तें पूरी करते हैं. OEM को यह पक्का करना होगा कि तीसरे पक्ष के ऐप्लिकेशन स्टोर, PackageInstaller.SessionParams का इस्तेमाल करके, अपने ऐप्लिकेशन के लिए एफ़एसआई अनुमतियों की शुरुआती स्थिति सेट करें. खास तौर पर, PERMISSION_STATE_DEFAULT, PERMISSION_STATE_DENIED, और PERMISSION_STATE_GRANTED पैरामीटर का इस्तेमाल करके.

पुष्टि करें

एफ़एसआई की सीमाओं की पुष्टि करने के लिए, NotificationFullScreenIntentVerifierActivity.java में सीटीएस की पुष्टि करने वाले टूल का इस्तेमाल करें. साथ ही, NotificationManagerTest.java में सीटीएस टेस्ट का इस्तेमाल करें.

मैन्युअल तरीके से जांच करने की सुविधा

अपने ऐप्लिकेशन पर एफ़एसआई की सीमाओं की मैन्युअल तौर पर जांच करने के लिए, यह तरीका अपनाएं:

  1. अपने ऐप्लिकेशन की AndroidManifest.xml फ़ाइल में USE_FULL_SCREEN_INTENT का एलान करें.
  2. एफ़एसआई को चालू या बंद करने के लिए, सेटिंग मैनेज करने के लिए ACTION_MANAGE_APP_USE_FULL_SCREEN_INTENT का इस्तेमाल करें.
  3. टेस्ट फ़ोन पर, फ़ुल-स्क्रीन सूचनाओं के लिए उपयोगकर्ता की अनुमति को मैन्युअल तरीके से टॉगल करें, जैसा कि पहली इमेज में दिखाया गया है.
  4. एफ़एसआई की सूचना भेजें.
  5. एफ़एसआई की अनुमति और डिसप्ले मोड के इन कॉम्बिनेशन के लिए, फ़ुल-स्क्रीन सूचना दिखने की पुष्टि करें:
एफ़एसआई से अनुमति लेना अनलॉक की गई स्क्रीन लॉक की गई स्क्रीन स्क्रीन बंद है हमेशा चालू रहने वाला डिसप्ले (एओडी)
उपयोगकर्ता ने अनुमति दी है पिल बटन के साथ, लगातार दिखने वाली सूचना (एचयूएन) एफ़एसआई लॉन्च करना एफ़एसआई लॉन्च करना एफ़एसआई लॉन्च करना
उपयोगकर्ता ने अनुमति नहीं दी 60 सेकंड के लिए गोल बटन के साथ हंगरी HUN, जिसमें पिल बटन हैं, 60 सेकंड के लिए सूची में सबसे पहले दिखता है AOD चालू हो जाता है और 60 सेकंड के लिए, पिल बटन के साथ HUN दिखता है 60 सेकंड के लिए गोल बटन के साथ हंगरी