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

स्पैम वाले विज्ञापन और क्रेडेंशियल फ़िशिंग को रोकने के लिए, 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 का इस्तेमाल करते हैं. इससे फ़ुल स्क्रीन के इंटेंट मैनेज करें सेटिंग लॉन्च होती है. इसे इमेज 1 में दिखाया गया है:

fsi-ui

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

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

ओईएम से जुड़ी ज़रूरी शर्तें

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

Validation

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

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

अपने ऐप्लिकेशन पर, FSI की सीमाओं को मैन्युअल तरीके से टेस्ट करने के लिए, यह तरीका अपनाएं:

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