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

कुछ मामलों में, आपके ऐप्लिकेशन को उपयोगकर्ता का ध्यान तुरंत खींचने की ज़रूरत पड़ सकती है. जैसे, अलार्म बजने या इनकमिंग कॉल आने पर. 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 बटन पर टैप करने से दूसरी इमेज में दिखाया गया डायलॉग ट्रिगर हो जाता है:

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

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

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

ज़्यादा प्राथमिकता वाली सूचना बनाएं

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

इस उदाहरण में एक सूचना शामिल है:

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")
}

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

ज़्यादा प्राथमिकता की सूचना दिखाने वाली इमेज
चौथी इमेज. बहुत ज़रूरी सूचना.

पहले से चल रही सूचना

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

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

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);