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

स्पैम वाले विज्ञापनों और क्रेडेंशियल फ़िशिंग को रोकने के लिए, 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

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

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

OEM की ज़रूरी शर्तें

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. एफ़एसआई की अनुमति और डिसप्ले मोड के इन कॉम्बिनेशन के लिए, फ़ुल-स्क्रीन सूचना दिखने की पुष्टि करें:
एफ़एसआई की अनुमति अनलॉक की गई स्क्रीन लॉक की गई स्क्रीन स्क्रीन बंद है हमेशा चालू रहने वाला डिसप्ले (एओडी)
उपयोगकर्ता ने अनुमति दी है गोली के बटन के साथ लगातार हेड्स-अप सूचना (HUN) एफ़एसआई लॉन्च करें एफ़एसआई लॉन्च करना एफ़एसआई लॉन्च करना
उपयोगकर्ता ने अनुमति नहीं दी 60 सेकंड के लिए, गोली के बटन की मदद से HUN HUN, जिसमें पिल बटन हैं, 60 सेकंड के लिए सूची में सबसे पहले दिखता है AOD चालू हो जाता है और 60 सेकंड के लिए, पिल बटन के साथ HUN दिखता है 60 सेकंड के लिए गोल बटन के साथ हंगरी