समय के हिसाब से संवेदनशील सूचनाएं दिखाएं

कुछ स्थितियों में, आपके ऐप्लिकेशन को उपयोगकर्ता का ध्यान तुरंत खींचने की ज़रूरत पड़ सकती है. जैसे, अलार्म बजने या कॉल आने पर. Android 9 (एपीआई लेवल 28) या इससे पहले के वर्शन पर चलने वाले डिवाइसों को टारगेट करने वाले ऐप्लिकेशन में, इस समस्या को ठीक करने के लिए, ऐप्लिकेशन के बैकग्राउंड में होने पर कोई गतिविधि लॉन्च की जा सकती है. इस दस्तावेज़ में बताया गया है कि Android 10 (एपीआई लेवल 29) से लेकर Android 13 (एपीआई लेवल 33) तक के वर्शन वाले डिवाइसों पर, इस तरह का व्यवहार कैसे किया जा सकता है.

POST_NOTIFICATIONS अनुमति जोड़ना

Android 13 से, अपनी AndroidManifest.xml फ़ाइल में यह लाइन जोड़ें:

<manifest ...>
    <uses-permission android:name="android.permission.POST_NOTIFICATIONS"/>
    <application ...>
        ...
    </application>
</manifest>

यह जानकारी मिलने के बाद, सूचना चैनल बनाया जा सकता है.

सूचना चैनल बनाना

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

अपनी Application क्लास के onCreate तरीके में सूचना चैनल बनाएं:

Kotlin

class DACapp : Application() {
    override fun onCreate() {
        super.onCreate()
        val channel = NotificationChannel(
            CHANNEL_ID,
            "High priority notifications",
            NotificationManager.IMPORTANCE_HIGH
        )

        val notificationManager = getSystemService(Context.NOTIFICATION_SERVICE) as NotificationManager
        notificationManager.createNotificationChannel(channel)
    }
}

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

ऐप्लिकेशन की जानकारी और सूचना वाली स्क्रीन दिखाने वाली इमेज.
पहली इमेज. ऐप्लिकेशन की सिस्टम सेटिंग में मौजूद, ऐप्लिकेशन की जानकारी स्क्रीन पर मौजूद सूचनाएं सेक्शन में जाकर.

सूचनाओं की अनुमतियां मैनेज करना

Android 13 से, उपयोगकर्ताओं को सूचनाएं दिखाने से पहले, सूचनाएं पाने की अनुमति का अनुरोध करें.

कम से कम लागू करने पर यह ऐसा दिखता है:

Kotlin

val permissionLauncher = rememberLauncherForActivityResult(
    contract = ActivityResultContracts.RequestPermission(),
    onResult = { hasNotificationPermission = it }
)
...
Button(
    onClick = {
        if (!hasNotificationPermission) {
            if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) {
                permissionLauncher.launch(Manifest.permission.POST_NOTIFICATIONS)
            }
        }
    },
) {
    Text(text = "Request permission")
}

अगर आपके डिवाइस पर Android 13 चल रहा है, तो Request permission बटन पर टैप करने से, फ़िगर 2 में दिखाया गया डायलॉग बॉक्स ट्रिगर होता है:

अनुमति के अनुरोध वाला डायलॉग दिखाने वाली इमेज
दूसरी इमेज. सूचना की अनुमति के लिए अनुरोध करने वाला सिस्टम डायलॉग.

अगर उपयोगकर्ता अनुमति के अनुरोध को स्वीकार करता है, तो ऐप्लिकेशन के ऐप्लिकेशन की जानकारी सेक्शन में, तीसरे फ़िगर की तरह दिखेगा:

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

ज़रूरी सूचना बनाना

सूचना बनाते समय, उसमें जानकारी देने वाला टाइटल और मैसेज शामिल करें.

इस उदाहरण में एक सूचना दी गई है:

Kotlin

private fun showNotification() {
    val notificationManager = getSystemService(Context.NOTIFICATION_SERVICE) as NotificationManager

    val notificationBuilder =
        NotificationCompat.Builder(this, CHANNEL_ID)
            .setSmallIcon(R.drawable.baseline_auto_awesome_24)
            .setContentTitle("HIGH PRIORITY")
            .setContentText("Check this dog puppy video NOW!")
            .setPriority(NotificationCompat.PRIORITY_HIGH)
            .setCategory(NotificationCompat.CATEGORY_RECOMMENDATION)

    notificationManager.notify(666, notificationBuilder.build())
}

उपयोगकर्ता को सूचना दिखाना

showNotification() फ़ंक्शन को कॉल करने पर, इस तरह सूचना ट्रिगर होती है:

Kotlin

Button(onClick = { showNotification() }) {
    Text(text = "Show notification")
}

इस उदाहरण में सूचना, इमेज 4 की तरह दिखती है:

इस इमेज में, ज़्यादा ज़रूरी सूचना दिखाई गई है
चौथी इमेज. ज़्यादा प्राथमिकता वाली सूचना.

बैकग्राउंड में जारी गतिविधि की सूचना

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

अगर आपकी सूचना लगातार दिखती रहती है, जैसे कि आने वाला फ़ोन कॉल, तो सूचना को फ़ोरग्राउंड सेवा से जोड़ें. यहां दिए गए कोड स्निपेट में, फ़ोरग्राउंड सेवा से जुड़ी सूचना दिखाने का तरीका बताया गया है:

Kotlin

// Provide a unique integer for the "notificationId" of each notification.
startForeground(notificationId, notification)

Java

// Provide a unique integer for the "notificationId" of each notification.
startForeground(notificationId, notification);