বিজ্ঞপ্তি ব্যাজ পরিবর্তন করা

Android 8.0 (API লেভেল ২৬) থেকে শুরু করে, বিজ্ঞপ্তি ব্যাজ—যা বিজ্ঞপ্তি ডট নামেও পরিচিত— সংশ্লিষ্ট অ্যাপে কোনও অ্যাক্টিভ বিজ্ঞপ্তি থাকলে লঞ্চার আইকনে দেখা যায়। ব্যবহারকারীরা অ্যাপ আইকন টাচ করে ধরে রেখে বিজ্ঞপ্তি দেখতে পাবেন, এর সাথে যেকোনও অ্যাপ শর্টকাট, যেমন ছবি ১-এ দেখানো হয়েছে।

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

ছবি ১. বিজ্ঞপ্তি ব্যাজ এবং টাচ করে ধরে রাখার মেনু।

ব্যাজিং বন্ধ করুন

এমন কিছু পরিস্থিতি হতে পারে যেখানে আপনার বিজ্ঞপ্তির জন্য ব্যাজ উপযুক্ত নয়, তাই আপনি আপনার NotificationChannel অবজেক্টে setShowBadge(false) কল করে চ্যানেল-প্রতি হিসেবে সেগুলি বন্ধ করতে পারেন।

যেমন, আপনি নিম্নলিখিত পরিস্থিতিতে বিজ্ঞপ্তি ব্যাজ বন্ধ করতে চাইতে পারেন:

  • চলমান বিজ্ঞপ্তি: বেশিরভাগ চলমান বিজ্ঞপ্তি, যেমন ইমেজ প্রসেসিং, মিডিয়া প্লেব্যাক কন্ট্রোল বা বর্তমান নেভিগেশন নির্দেশাবলী, ব্যাজ হিসেবে অর্থপূর্ণ নয়।
  • Calendar রিমাইন্ডার: বর্তমান সময়ে ঘটা ইভেন্ট ব্যাজিং এড়িয়ে চলুন।
  • ঘড়ি বা অ্যালার্ম ইভেন্ট: বর্তমান অ্যালার্ম সম্পর্কিত ব্যাজিং বিজ্ঞপ্তি এড়িয়ে চলুন।

নিচের স্যাম্পেল কোড থেকে বোঝা যাবে যে কীভাবে কোনও বিজ্ঞপ্তি চ্যানেলের জন্য ব্যাজ লুকানো যায়:

Kotlin

val id = "my_channel_01"
val name = getString(R.string.channel_name)
val descriptionText = getString(R.string.channel_description)
val importance = NotificationManager.IMPORTANCE_LOW
val mChannel = NotificationChannel(id, name, importance).apply {
    description = descriptionText
    setShowBadge(false)
}
val notificationManager = getSystemService(Context.NOTIFICATION_SERVICE) as NotificationManager
notificationManager.createNotificationChannel(mChannel)

জাভা

String id = "my_channel_01";
CharSequence name = getString(R.string.channel_name);
String description = getString(R.string.channel_description);
int importance = NotificationManager.IMPORTANCE_LOW;
NotificationChannel mChannel = new NotificationChannel(id, name, importance);
mChannel.setDescription(description);
mChannel.setShowBadge(false);

NotificationManager notificationManager =
        (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
notificationManager.createNotificationChannel(mChannel);

কাস্টম বিজ্ঞপ্তির সংখ্যা সেট করুন

ডিফল্ট হিসেবে, প্রতিটি বিজ্ঞপ্তি, টাচ করে ধরে রাখার মেনুতে দেখানো সংখ্যাকে এক এক করে বাড়ায়, যেমনটি চিত্র ১-এ দেখানো হয়েছে, তবে আপনি নিজের অ্যাপের জন্য এই সংখ্যাকে ওভাররাইড করতে পারেন। উদাহরণস্বরূপ, আপনি যদি একাধিক নতুন মেসেজ দেখানোর জন্য শুধুমাত্র একটি বিজ্ঞপ্তি ব্যবহার করেন, তবে মোট নতুন মেসেজের সংখ্যা দেখানোর জন্য এটি উপযোগী হতে পারে।

কাস্টম নম্বর সেট করতে, বিজ্ঞপ্তিতে setNumber() কল করুন, যেমন এখানে দেখানো হয়েছে:

Kotlin

var notification = NotificationCompat.Builder(this@MainActivity, CHANNEL_ID)
        .setContentTitle("New Messages")
        .setContentText("You've received 3 new messages.")
        .setSmallIcon(R.drawable.ic_notify_status)
        .setNumber(messageCount)
        .build()

জাভা

Notification notification = new NotificationCompat.Builder(MainActivity.this, CHANNEL_ID)
        .setContentTitle("New Messages")
        .setContentText("You've received 3 new messages.")
        .setSmallIcon(R.drawable.ic_notify_status)
        .setNumber(messageCount)
        .build();

বিজ্ঞপ্তির'টাচ করে ধরে থাকুন' মেনু আইকন পরিবর্তন করুন

'টাচ করে ধরে থাকুন' মেনু, বিজ্ঞপ্তির সাথে যুক্ত বড় বা ছোট আইকন দেখায়, যদি তা উপলভ্য থাকে। ডিফল্ট হিসেবে, সিস্টেম বড় আইকন দেখায়, তবে আপনি Notification.Builder.setBadgeIconType() কল করতে পারেন এবং ছোট আইকন দেখানোর জন্য BADGE_ICON_SMALL কনস্ট্যান্ট পাস করতে পারেন।

Kotlin

var notification = NotificationCompat.Builder(this@MainActivity, CHANNEL_ID)
        .setContentTitle("New Messages")
        .setContentText("You've received 3 new messages.")
        .setSmallIcon(R.drawable.ic_notify_status)
        .setBadgeIconType(NotificationCompat.BADGE_ICON_SMALL)
        .build()

জাভা

Notification notification = new NotificationCompat.Builder(MainActivity.this, CHANNEL_ID)
        .setContentTitle("New Messages")
        .setContentText("You've received 3 new messages.")
        .setSmallIcon(R.drawable.ic_notify_status)
        .setBadgeIconType(NotificationCompat.BADGE_ICON_SMALL)
        .build();

ডুপ্লিকেট শর্টকাট লুকানো

আপনার অ্যাপ যদি এমন কোনও বিজ্ঞপ্তি তৈরি করে যা অ্যাপ শর্টকাট ডুপ্লিকেট করে, তাহলে আপনি setShortcutId()-এ কল করে বিজ্ঞপ্তি অ্যাক্টিভ থাকাকালীন সাময়িকভাবে শর্টকাট লুকাতে পারবেন।

বিজ্ঞপ্তি ব্যবহার করে এমন আরও স্যাম্পেল কোডের জন্য, SociaLite স্যাম্পেল অ্যাপ দেখুন।