Interactive Notification হল একটি push বিজ্ঞপ্তি যা ইন্টারঅ্যাকটিভ উপাদান সহ অ্যাপ না খুলেই একটি কাজ সম্পাদন করার অনুমতি দেয়। Apple Human Interface Guidelines (2025) অনুসারে, এই ধরনের বিজ্ঞপ্তিগুলি লক্ষ্য কাজ পর্যন্ত ধাপের সংখ্যা 40% কমিয়ে দেয়। অ্যাকশন বাটন এবং ইনপুট ফিল্ড ব্যবহারকারীকে অ্যাপ না খুলেই সরাসরি বিজ্ঞপ্তি শেড থেকে একটি বার্তার উত্তর দিতে, সাবস্ক্রিপশনের জন্য অর্থ প্রদান করতে বা বুকিং নিশ্চিত করতে দেয়।
মূল পয়েন্ট
Interactive Notification হল push বিজ্ঞপ্তির একটি বর্ধিত ফরম্যাট যাতে ইন্টারঅ্যাকটিভ নিয়ন্ত্রণ থাকে: বাটন, সুইচ এবং টেক্সট ইনপুট ফিল্ড। স্ট্যান্ডার্ড বিজ্ঞপ্তির বিপরীতে যা কেবল জানায়, ইন্টারঅ্যাকটিভ বিজ্ঞপ্তি ব্যবহারকারীকে সরাসরি বিজ্ঞপ্তি শেড বা লক স্ক্রিন থেকে একটি লক্ষ্য কাজ সম্পাদন করতে দেয়। Google Material Design (2025) অনুসারে, ইন্টারঅ্যাকটিভ বিজ্ঞপ্তিগুলি অপারেটিং সিস্টেম দ্বারা মূল অ্যাপ প্রক্রিয়া শুরু না করেই প্রক্রিয়া করা হয় — এটি ব্যাটারি রিসোর্স বাঁচায় এবং প্রতিক্রিয়া সময় দ্রুত করে। ডেভেলপার iOS-এ kategori এবং Android-এ চ্যানেলের মাধ্যমে অ্যাকশনের একটি সেট সংজ্ঞায়িত করে এবং সিস্টেম সেগুলি প্রসঙ্গ অনুযায়ী প্রদর্শন করে।
প্রতিটি ইন্টারঅ্যাকটিভ বিজ্ঞপ্তি তিনটি স্তর নিয়ে গঠিত: মূল বিষয়বস্তু (শিরোনাম, মূল অংশ), অ্যাকশন (বাটন), এবং ঐচ্ছিক টেক্সট ইনপুট। iOS-এ, এই উপাদানগুলি UNNotificationCategory-এর মাধ্যমে একত্রিত হয়, এবং Android-এ — NotificationCompat.Action.Builder-এর মাধ্যমে। সিস্টেম OS সংস্করণ এবং টেক্সট দৈর্ঘ্যের উপর নির্ভর করে সংক্ষিপ্ত বা বিস্তৃত দৃশ্যে বিজ্ঞপ্তি টেক্সটের নীচে বাটন প্রদর্শন করে। ব্যবহারকারী বিজ্ঞপ্তি পাওয়ার সাথে সাথে উপলব্ধ অ্যাকশনগুলি দেখেন এবং অ্যাপে স্যুইচ না করেই সেগুলির একটি সম্পাদন করতে পারেন।
Interactive Notification-এর কার্যপ্রণালী দুটি ধাপে বিভক্ত: অ্যাপ শুরু হলে kategori নিবন্ধন করা এবং ব্যবহারকারী ট্যাপ করলে অ্যাকশন প্রক্রিয়া করা। নিবন্ধন ধাপে, ডেভেলপার অ্যাকশনের একটি সেট সহ kategori অবজেক্ট তৈরি করেন — প্রতিটি অ্যাকশনের একটি আইডেন্টিফায়ার, একটি শিরোনাম এবং বিকল্প থাকে। যখন একটি push বিজ্ঞপ্তি পাওয়া যায়, সিস্টেম categoryIdentifier ফিল্ড দ্বারা নিবন্ধিত kategori-এর সাথে এটি মেলে এবং স্বয়ংক্রিয়ভাবে সংশ্লিষ্ট বাটন যোগ করে। যখন ব্যবহারকারী একটি বাটন ট্যাপ করেন, সিস্টেম অ্যাকশন আইডেন্টিফায়ার সহ UNUserNotificationCenter ডেলিগেট বা Android-এ PendingIntent কল করে এবং ফলাফল অ্যাপে ফেরত পাঠায়। WWDC 2024 অনুসারে, সঠিক কনফিগারেশনের সাথে iOS-এ একটি ইন্টারঅ্যাকটিভ অ্যাকশনের প্রক্রিয়াকরণ সময় 200 ms-এর বেশি হয় না।
ইন্টারঅ্যাকটিভ বিজ্ঞপ্তি মিথস্ক্রিয়া পদ্ধতি অনুযায়ী তিনটি প্রধান প্রকারে বিভক্ত: বাটন-ভিত্তিক, টেক্সট-ভিত্তিক এবং মাল্টিমিডিয়া। প্রতিটি প্রকার নিজস্ব কাজ সমাধান করে এবং নির্দিষ্ট পরিস্থিতিতে ব্যবহৃত হয়। প্রকারের পছন্দ প্রসঙ্গের উপর নির্ভর করে — ব্যবহারকারীর থেকে যত কম ধাপ প্রয়োজন, রূপান্তর তত বেশি। Apple এবং Google নিশ্চিতকরণের জন্য বাটন, উত্তরের জন্য ইনপুট ফিল্ড এবং বিষয়বস্তু প্রিভিউয়ের জন্য মিডিয়া ব্যবহার করার পরামর্শ দেয়।
সবচেয়ে সাধারণ প্রকার হল এক বা একাধিক বাটন সহ একটি বিজ্ঞপ্তি, প্রতিটি একটি পূর্বনির্ধারিত অ্যাকশন সম্পাদন করে। উদাহরণস্বরূপ, ক্যালেন্ডার ইভেন্টের জন্য “গ্রহণ করুন” এবং “প্রত্যাখ্যান করুন” বাটন, বার্তার জন্য “পছন্দ করুন” এবং “উত্তর দিন”। iOS চারটি বাটন পর্যন্ত সমর্থন করে, Android — তিনটি পর্যন্ত। বাটনগুলিকে অগ্রাধিকার অনুযায়ী গ্রুপ করা যেতে পারে: সাধারণ এবং ধ্বংসাত্মক (নিশ্চিতকরণ সহ)। Apple লক স্ক্রিনে ব্যবহারকারীর সুবিধার জন্য দুটির বেশি প্রধান বাটন না রাখার পরামর্শ দেয়।
RemoteInput একটি প্রযুক্তি যা ব্যবহারকারীকে অ্যাপ না খুলেই সরাসরি বিজ্ঞপ্তিতে টেক্সট প্রবেশ করাতে দেয়। iOS-এ এর জন্য UNTextInputNotificationAction ব্যবহার করা হয়, Android-এ — প্রবেশ করানো টেক্সট বের করার জন্য একটি কী সহ RemoteInput.Builder। এটি প্রায়শই মেসেঞ্জারে একটি বার্তার দ্রুত উত্তর দেওয়ার জন্য ব্যবহৃত হয়। প্রবেশ করানো টেক্সট বিজ্ঞপ্তি পরিষেবা বা স্থানীয় হ্যান্ডলারের মাধ্যমে অ্যাপে পাঠানো হয়। সীমাবদ্ধতা হল টেক্সটে ফরম্যাটিং থাকতে পারে না, শুধু প্লেইন স্ট্রিং।
মিডিয়া অ্যাটাচমেন্ট সহ বিজ্ঞপ্তিগুলি সরাসরি বিজ্ঞপ্তি শেডে ছবি, অডিও এবং ভিডিও প্রদর্শন করতে দেয়। iOS-এ, এটি UNNotificationAttachment-এর মাধ্যমে বাস্তবায়িত হয়, Android-এ — BigPictureStyle সহ NotificationCompat.MessagingStyle-এর মাধ্যমে। মিডিয়া push প্রদানকারী সার্ভার দ্বারা লোড হয় এবং অ্যাটাচমেন্ট হিসাবে বিজ্ঞপ্তির সাথে পাঠানো হয়। অ্যাটাচমেন্টের আকার সীমিত — Apple 10 MB-এর বেশি না, Google — ছবির জন্য 1 MB-এর বেশি না। মিডিয়া বিষয়বস্তু সংবাদ, মার্কেটপ্লেস এবং সোশ্যাল নেটওয়ার্কের জন্য বিজ্ঞপ্তির তথ্যপূর্ণতা বাড়ায়।
iOS-এ, Interactive Notification UserNotifications ফ্রেমওয়ার্কের মাধ্যমে UNNotificationCategory এবং UNNotificationAction ব্যবহার করে বাস্তবায়িত হয়। অ্যাপ স্টার্টআপে kategori নিবন্ধন করে, এবং যখন একটি বিজ্ঞপ্তি পাওয়া যায়, সিস্টেম স্বয়ংক্রিয়ভাবে সংশ্লিষ্ট বাটন প্রদর্শন করে। অ্যাকশনগুলি হ্যান্ডল করার জন্য, userNotificationCenter:didReceiveNotificationResponse:withCompletionHandler পদ্ধতি বাস্তবায়ন করা প্রয়োজন। নীচে Swift-এ একটি বাটন এবং টেক্সট ইনপুট সহ kategori নিবন্ধনের উদাহরণ দেওয়া হল।
import UserNotifications
let replyAction = UNTextInputNotificationAction(
identifier: "reply",
title: "উত্তর দিন",
options: [.authenticationRequired],
textInputButtonTitle: "পাঠান",
textInputPlaceholder: "বার্তা লিখুন…"
)
let category = UNNotificationCategory(
identifier: "message",
actions: [replyAction],
intentIdentifiers: [],
options: []
)
UNUserNotificationCenter.current()
.setNotificationCategories([category])
setNotificationCategories কল করার পর, সিস্টেম kategoriগুলি সংরক্ষণ করে এবং পরবর্তী সমস্ত বিজ্ঞপ্তির জন্য ব্যবহার করে। নতুন সংস্করণের সাথে kategori সিঙ্ক্রোনাইজ করার জন্য কোডটি প্রতিটি অ্যাপ লঞ্চে কল করা উচিত। প্রতিক্রিয়া হ্যান্ডলিং বিজ্ঞপ্তি কেন্দ্র ডেলিগেটে সম্পাদিত হয় — অ্যাপ আরও প্রক্রিয়াকরণের জন্য অ্যাকশন আইডেন্টিফায়ার এবং প্রবেশ করানো টেক্সট গ্রহণ করে।
func userNotificationCenter(
_ center: UNUserNotificationCenter,
didReceive response: UNNotificationResponse,
withCompletionHandler completion: @escaping VoidBlock
) {
if response.actionIdentifier == "reply" {
let textResponse = response as! UNTextInputNotificationResponse
let message = textResponse.userText
sendMessage(message)
}
completion()
}
userNotificationCenter পদ্ধতি ব্যবহারকারী বাটন চাপার বা টেক্সট জমা দেওয়ার পরে সিস্টেম দ্বারা কল করা হয়। হ্যান্ডলারের ভিতরে, actionIdentifier পরীক্ষা করা হয় — যদি এটি নিবন্ধিত আইডেন্টিফায়ারের সাথে মেলে, অ্যাপ userText থেকে প্রবেশ করানো টেক্সট বের করে সার্ভারে পাঠায়। টেক্সট ইনপুট ছাড়া সাধারণ বাটনের জন্য, টাইপ কাস্টিং ছাড়া UNNotificationResponse ব্যবহার করা হয়।
Android-এ, ইন্টারঅ্যাকটিভ বিজ্ঞপ্তি NotificationCompat ক্লাসের মাধ্যমে addAction এবং RemoteInput পদ্ধতি সহ তৈরি করা হয়। iOS-এর বিপরীতে, Android-এ kategori-এর পূর্ব-নিবন্ধনের প্রয়োজন হয় না — অ্যাকশনগুলি Builder-এর মাধ্যমে সরাসরি প্রতিটি বিজ্ঞপ্তিতে যোগ করা হয়। এটি আরও নমনীয়তা প্রদান করে: প্রতিটি বিজ্ঞপ্তিতে বাটনের একটি অনন্য সেট থাকতে পারে। নীচে RemoteInput ব্যবহার করে Java-তে উত্তর বাটন সহ একটি বিজ্ঞপ্তির উদাহরণ দেওয়া হল।
RemoteInput remoteInput = new RemoteInput.Builder("key_reply")
.setLabel("উত্তর দিন")
.build();
PendingIntent replyIntent = PendingIntent.getBroadcast(
this, 1001,
new Intent("ACTION_REPLY"),
PendingIntent.FLAG_UPDATE_CURRENT
);
NotificationCompat.Action action =
new NotificationCompat.Action.Builder(
R.drawable.ic_reply,
"উত্তর দিন", replyIntent
)
.addRemoteInput(remoteInput)
.build();
NotificationCompat.Builder builder =
new NotificationCompat.Builder(this, "messages")
.setContentTitle("নতুন বার্তা")
.setContentText("হ্যালো! আপনি কেমন আছেন?")
.setSmallIcon(R.drawable.ic_notification)
.addAction(action);
NotificationManagerCompat.from(this)
.notify(100, builder.build());
মূল উপাদান হল RemoteInput, যা ইনপুট ফিল্ডকে অ্যাকশনের সাথে সংযুক্ত করে। যখন ব্যবহারকারী “উত্তর দিন” বাটন চাপেন, সিস্টেম বিজ্ঞপ্তির ভিতরে একটি টেক্সট ইনপুট ডায়ালগ খোলে। জমা দেওয়ার পর, টেক্সট নির্দিষ্ট PendingIntent-এর মাধ্যমে Intent-এর মাধ্যমে BroadcastReceiver বা Activity-তে পাঠানো হয়। রিসিভারে টেক্সট পেতে, “key_reply” কী সহ RemoteInput.getResultsFromIntent(intent) ব্যবহার করা হয়।
Bundle results = RemoteInput.getResultsFromIntent(intent);
if (results != null) {
CharSequence reply = results.getCharSequence("key_reply");
if (reply != null) {
sendReplyToServer(reply.toString());
}
}
getResultsFromIntent পদ্ধতি সিস্টেম দ্বারা উত্তর জমা দেওয়ার সময় পাঠানো Intent থেকে ব্যবহারকারীর প্রবেশ করানো টেক্সট বের করে। ফলাফল CharSequence হিসাবে ফেরত দেওয়া হয়, যা সার্ভারে পাঠানোর জন্য একটি স্ট্রিংয়ে রূপান্তরিত হয়। যদি ব্যবহারকারী জমা না দিয়েই ইনপুট ডায়ালগ বন্ধ করে দেন, results খালি হবে — প্রক্রিয়াকরণের সময় এটি বিবেচনায় নেওয়া উচিত। এই পদ্ধতি Activity শুরু না করেই দ্রুত উত্তর বাস্তবায়নের অনুমতি দেয়।
Interactive Notification যে কোনো ধরনের অ্যাপে ব্যবহৃত হয় যেখানে দ্রুত ব্যবহারকারীর অ্যাকশন প্রয়োজন। সবচেয়ে কার্যকর পরিস্থিতি হল বার্তার উত্তর দেওয়ার জন্য মেসেঞ্জার, অর্ডার নিশ্চিতকরণের জন্য ই-কমার্স এবং আমন্ত্রণ গ্রহণের জন্য ক্যালেন্ডার। Localytics (2025) অনুসারে, ইন্টারঅ্যাকটিভ বিজ্ঞপ্তি সহ অ্যাপগুলি 7ম দিনে 28% বেশি ধারণ দেখায়। নীচে জনপ্রিয় পরিস্থিতি এবং প্ল্যাটফর্ম বৈশিষ্ট্য সহ একটি টেবিল দেওয়া হল।
| পরিস্থিতি | অ্যাকশন | প্ল্যাটফর্ম |
|---|---|---|
| মেসেঞ্জার | টেক্সট দিয়ে উত্তর দিন, পছন্দ করুন | iOS + Android |
| ই-কমার্স | নিশ্চিত করুন, স্থগিত করুন, বাতিল করুন | iOS + Android |
| ক্যালেন্ডার | গ্রহণ করুন, প্রত্যাখ্যান করুন, হতে পারে | iOS |
| সংবাদ | সংরক্ষণ করুন, ভাগ করুন, খুলুন | Android |
| বুকিং | নিশ্চিত করুন, পুনর্নির্ধারণ করুন, বাতিল করুন | iOS + Android |
ইন্টারঅ্যাকটিভ বিজ্ঞপ্তি ডিজাইন করার সময়, সীমাবদ্ধতা বিবেচনা করা গুরুত্বপূর্ণ — ব্যবহারকারী কেবল একবার অ্যাকশন সম্পাদন করতে পারেন। বাটন চাপার পর, বিজ্ঞপ্তি অদৃশ্য হয়ে যায় বা “সম্পন্ন” অবস্থায় চলে যায়। তাই, প্রতিটি অ্যাকশন অপরিবর্তনীয় হওয়া উচিত বা দ্বিতীয় ধাপে নিশ্চিতকরণ থাকা উচিত।
প্রায়শই জিজ্ঞাসিত প্রশ্ন
Interactive Notification হল বাটন, ইনপুট ফিল্ড বা মিডিয়া অ্যাটাচমেন্ট সহ একটি push বিজ্ঞপ্তি যা ব্যবহারকারীকে অ্যাপ না খুলেই একটি অ্যাকশন সম্পাদন করতে দেয়। এটি iOS-এ UserNotifications এবং Android-এ NotificationCompat-এর মাধ্যমে সমর্থিত।
সাধারণ বিজ্ঞপ্তি কেবল জানায় — ব্যবহারকারী ট্যাপ করে এবং অ্যাপ খোলে। একটি ইন্টারঅ্যাকটিভ বিজ্ঞপ্তি বাটন বা ইনপুট ফিল্ড ধারণ করে এবং অ্যাকশন সরাসরি বিজ্ঞপ্তি শেডে সম্পাদিত হয়। এটি লক্ষ্য অ্যাকশনের পথ ছোট করে এবং অ্যাপের উপর লোড কমায়।
iOS চারটি বাটন পর্যন্ত সমর্থন করে, Android — তিনটি পর্যন্ত। Android-এ, দুটি বাটন বিজ্ঞপ্তি প্যানেলে প্রদর্শিত হয়, তৃতীয়টি ড্রপ-ডাউন মেনুতে উপলব্ধ। Apple লক স্ক্রিনে ব্যবহারকারীর সুবিধার জন্য দুটির বেশি প্রধান বাটন না রাখার পরামর্শ দেয়।
iOS-এ UNTextInputNotificationAction ব্যবহার করা হয়, Android-এ — একটি কী সহ RemoteInput.Builder। ব্যবহারকারী বিজ্ঞপ্তির ভিতরে একটি ডায়ালগ বক্সে টেক্সট প্রবেশ করান, এবং অ্যাপ এটি একটি ডেলিগেট বা Intent-এর মাধ্যমে Activity শুরু না করেই গ্রহণ করে।
একটি push বিজ্ঞপ্তি পাওয়ার জন্য ইন্টারনেট সংযোগ প্রয়োজন, তবে ইন্টারঅ্যাকটিভিটি নিজে (বাটন প্রদর্শন, টেক্সট ইনপুট) অফলাইনে কাজ করে। সার্ভারে ফলাফল পাঠানো সংযোগ পুনরুদ্ধার না হওয়া পর্যন্ত স্থগিত করা যেতে পারে।
সারাংশ
আমরা একটি মোবাইল অ্যাপ্লিকেশন টার্নকি তৈরি করব
IT Sectr 2017 সাল থেকে স্টার্টআপ এবং ব্যবসার জন্য iOS এবং Android অ্যাপ্লিকেশন তৈরি করে। আমরা আপনাকে পরামর্শ দেব এবং সেরা সমাধান প্রস্তাব করব।
আরও পড়ুন