সময়-সংবেদনশীল বিজ্ঞপ্তিগুলি প্রদর্শন করুন

কিছু নির্দিষ্ট পরিস্থিতিতে, যেমন চলমান অ্যালার্ম বা ইনকামিং কলের ক্ষেত্রে, আপনার অ্যাপের ব্যবহারকারীর মনোযোগ জরুরিভাবে আকর্ষণ করার প্রয়োজন হতে পারে। অ্যান্ড্রয়েড ৯ (এপিআই লেভেল ২৮) বা তার আগের সংস্করণে চালিত ডিভাইসগুলোর জন্য তৈরি অ্যাপগুলোতে, অ্যাপটি ব্যাকগ্রাউন্ডে থাকা অবস্থায় একটি অ্যাক্টিভিটি চালু করার মাধ্যমে আপনি এই কাজটি করতে পারেন। এই ডকুমেন্টটিতে দেখানো হয়েছে কীভাবে অ্যান্ড্রয়েড ১০ (এপিআই লেভেল ২৯) থেকে অ্যান্ড্রয়েড ১৩ (এপিআই লেভেল ৩৩) পর্যন্ত চালিত ডিভাইসগুলোতে এই আচরণটি অর্জন করা যায়।

POST_NOTIFICATIONS অনুমতি যোগ করুন

অ্যান্ড্রয়েড ১৩ থেকে শুরু করে, আপনার AndroidManifest.xml ফাইলে নিম্নলিখিত লাইনটি যোগ করুন:

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

এটি পেয়ে গেলে, আপনি একটি নোটিফিকেশন চ্যানেল তৈরি করতে পারবেন।

একটি নোটিফিকেশন চ্যানেল তৈরি করুন

আপনার নোটিফিকেশনগুলো সঠিকভাবে প্রদর্শন করতে এবং ব্যবহারকারীকে অ্যাপ সেটিংসে নোটিফিকেশন পরিচালনা করার সুযোগ দিতে একটি নোটিফিকেশন চ্যানেল তৈরি করুন। নোটিফিকেশন চ্যানেল সম্পর্কে আরও তথ্যের জন্য, ‘নোটিফিকেশন চ্যানেল তৈরি ও পরিচালনা’ দেখুন।

আপনার Application ক্লাসের onCreate মেথডে নোটিফিকেশন চ্যানেলগুলো তৈরি করুন:

কোটলিন

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

যখন ব্যবহারকারী প্রথমবার আপনার অ্যাপটি চালান, তখন তারা আপনার অ্যাপের ' অ্যাপ ইনফো ' সিস্টেম স্ক্রিনে চিত্র ১-এর মতো কিছু দেখতে পান:

আপনার অ্যাপের অ্যাপ ইনফো ও নোটিফিকেশন স্ক্রিনের একটি ছবি।
চিত্র ১. অ্যাপের সিস্টেম সেটিংসের অ্যাপ ইনফো স্ক্রিনের নোটিফিকেশন সেকশন।

বিজ্ঞপ্তির অনুমতি পরিচালনা করুন

অ্যান্ড্রয়েড ১৩ থেকে, ব্যবহারকারীদের নোটিফিকেশন দেখানোর আগে নোটিফিকেশনের অনুমতি চেয়ে নিন।

ন্যূনতম বাস্তবায়নটি দেখতে এইরকম:

কোটলিন

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

আপনার ডিভাইসটি যদি অ্যান্ড্রয়েড ১৩-এ চলে, তাহলে Request permission বোতামটি ট্যাপ করলে চিত্র ২-এ দেখানো ডায়ালগ বক্সটি প্রদর্শিত হবে:

অনুমতি অনুরোধ ডায়ালগ বক্স দেখানো একটি ছবি।
চিত্র ২. নোটিফিকেশন অনুমতি অনুরোধের জন্য সিস্টেম ডায়ালগ।

যদি ব্যবহারকারী অনুমতির অনুরোধটি গ্রহণ করেন, তাহলে অ্যাপটির ' অ্যাপ তথ্য' বিভাগটি চিত্র ৩-এর মতো দেখাবে:

নোটিফিকেশন অনুমতির অনুরোধ মঞ্জুর হওয়ার পর অ্যাপ ইনফো স্ক্রিনের একটি ছবি।
চিত্র ৩. বিজ্ঞপ্তি প্রদানের অনুমতি দেওয়া হয়েছে।

একটি উচ্চ-অগ্রাধিকার বিজ্ঞপ্তি তৈরি করুন

নোটিফিকেশন তৈরি করার সময় একটি বর্ণনামূলক শিরোনাম এবং বার্তা অন্তর্ভুক্ত করুন।

নিম্নলিখিত উদাহরণটিতে একটি বিজ্ঞপ্তি রয়েছে:

কোটলিন

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(0, notificationBuilder.build())
}

ব্যবহারকারীকে বিজ্ঞপ্তিটি প্রদর্শন করুন

showNotification() ফাংশনটি কল করলে নোটিফিকেশনটি নিম্নরূপভাবে ট্রিগার হয়:

কোটলিন

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

এই উদাহরণে নোটিফিকেশনটি চিত্র ৪-এর মতো দেখতে:

একটি উচ্চ অগ্রাধিকার বিজ্ঞপ্তি দেখানো একটি ছবি
চিত্র ৪. একটি উচ্চ-অগ্রাধিকার বিজ্ঞপ্তি।

চলমান বিজ্ঞপ্তি

যখন আপনি ব্যবহারকারীকে আপনার নোটিফিকেশন দেখান, তখন তিনি আপনার অ্যাপের অ্যালার্ট বা রিমাইন্ডারটি গ্রহণ বা বাতিল করতে পারেন। উদাহরণস্বরূপ, ব্যবহারকারী একটি ইনকামিং ফোন কল গ্রহণ বা প্রত্যাখ্যান করতে পারেন।

আপনার নোটিফিকেশনটি যদি চলমান হয়, যেমন কোনো ইনকামিং ফোন কল, তাহলে নোটিফিকেশনটিকে একটি ফোরগ্রাউন্ড সার্ভিসের সাথে যুক্ত করুন। নিচের কোড স্নিপেটটিতে দেখানো হয়েছে কিভাবে একটি ফোরগ্রাউন্ড সার্ভিসের সাথে যুক্ত নোটিফিকেশন প্রদর্শন করতে হয়:

কোটলিন

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

জাভা

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

লাইভ আপডেট ব্যবহার করার কথা বিবেচনা করুন

সময়-সংবেদনশীল চলমান নোটিফিকেশনগুলো আরও সহজে দৃশ্যমান হলে উপকৃত হওয়া যায়। বিভিন্ন সিস্টেম UI সারফেসে প্রদর্শনের জন্য সময়-সংবেদনশীল চলমান নোটিফিকেশনগুলোকে লাইভ আপডেট হিসেবে উন্নীত করার কথা বিবেচনা করুন।