Interactive Notification ایک push نوٹیفیکیشن ہے جس میں انٹرایکٹو عناصر ہوتے ہیں جو ایپ کھولے بغیر کارروائی کرنے کی اجازت دیتے ہیں۔ Apple Human Interface Guidelines (2025) کے مطابق، اس طرح کے نوٹیفیکیشن ہدف کی کارروائی تک کے مراحل کی تعداد کو 40% تک کم کر دیتے ہیں۔ ایکشن بٹن اور ان پٹ فیلڈز صارف کو ایپ کھولے بغیر براہ راست نوٹیفیکیشن شیڈ سے پیغام کا جواب دینے، سبسکرپشن کی ادائیگی کرنے یا بکنگ کی تصدیق کرنے کی اجازت دیتے ہیں۔
اہم نکات
Interactive Notification push نوٹیفیکیشن کی ایک توسیعی شکل ہے جس میں انٹرایکٹو کنٹرولز ہوتے ہیں: بٹن، سوئچ اور ٹیکسٹ ان پٹ فیلڈز۔ معیاری نوٹیفیکیشن کے برعکس جو صرف مطلع کرتا ہے، انٹرایکٹو نوٹیفیکیشن صارف کو براہ راست نوٹیفیکیشن شیڈ یا لاک اسکرین سے ہدف کی کارروائی کرنے کی اجازت دیتا ہے۔ Google Material Design (2025) کے مطابق، انٹرایکٹو نوٹیفیکیشن آپریٹنگ سسٹم کے ذریعے مرکزی ایپ پروسیس شروع کیے بغیر پروسیس ہوتے ہیں — اس سے بیٹری کے وسائل بچتے ہیں اور ردعمل کا وقت تیز ہوتا ہے۔ ڈویلپر iOS پر زمرہ جات اور Android پر چینلز کے ذریعے کارروائیوں کا ایک سیٹ متعین کرتا ہے، اور سسٹم انہیں سیاق و سباق کے مطابق دکھاتا ہے۔
ہر انٹرایکٹو نوٹیفیکیشن تین سطحوں پر مشتمل ہوتا ہے: مرکزی مواد (عنوان، باڈی)، کارروائیاں (بٹن)، اور اختیاری ٹیکسٹ ان پٹ۔ iOS پر، یہ اجزاء UNNotificationCategory کے ذریعے جمع کیے جاتے ہیں، اور Android پر — NotificationCompat.Action.Builder کے ذریعے۔ سسٹم OS ورژن اور ٹیکسٹ کی لمبائی کے لحاظ سے نوٹیفیکیشن ٹیکسٹ کے نیچے بٹن کو سکیڑے یا پھیلے ہوئے منظر میں دکھاتا ہے۔ صارف نوٹیفیکیشن موصول ہوتے ہی دستیاب کارروائیاں دیکھتا ہے اور ایپ پر سوئچ کیے بغیر ان میں سے ایک انجام دے سکتا ہے۔
Interactive Notification کے کام کرنے کا طریقہ کار دو مرحلوں میں تقسیم ہوتا ہے: ایپ شروع ہونے پر زمرہ جات کا اندراج اور صارف کے ٹیپ کرنے پر کارروائی کی پروسیسنگ۔ اندراج کے مرحلے میں، ڈویلپر کارروائیوں کے سیٹ کے ساتھ زمرہ آبجیکٹ بناتا ہے — ہر کارروائی کا ایک شناخت کنندہ، عنوان اور اختیارات ہوتے ہیں۔ جب push نوٹیفیکیشن موصول ہوتا ہے، سسٹم اسے categoryIdentifier فیلڈ کے ذریعے رجسٹرڈ زمرے سے ملانے کے بعد خود بخود متعلقہ بٹن شامل کرتا ہے۔ جب صارف بٹن دباتا ہے، سسٹم کارروائی کے شناخت کنندہ کے ساتھ 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 استعمال کرتے ہوئے لاگو کیا جاتا ہے۔ ایپ شروع ہونے پر زمرہ جات کو رجسٹر کرتی ہے، اور جب نوٹیفیکیشن موصول ہوتا ہے، سسٹم خود بخود متعلقہ بٹن دکھاتا ہے۔ کارروائیوں کو سنبھالنے کے لیے، userNotificationCenter:didReceiveNotificationResponse:withCompletionHandler طریقہ کار کو لاگو کرنا ضروری ہے۔ ذیل میں Swift میں بٹن اور ٹیکسٹ ان پٹ کے ساتھ زمرہ رجسٹر کرنے کی مثال ہے۔
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 کو کال کرنے کے بعد، سسٹم زمرہ جات کو محفوظ کرتا ہے اور بعد کے تمام نوٹیفیکیشن کے لیے استعمال کرتا ہے۔ نئے ورژن کے ساتھ زمرہ جات کو ہم آہنگ کرنے کے لیے کوڈ کو ہر ایپ لانچ پر کال کیا جانا چاہیے۔ جواب کی ہینڈلنگ نوٹیفیکیشن سینٹر ڈیلیگیٹ میں کی جاتی ہے — ایپ مزید کارروائی کے لیے کارروائی کا شناخت کنندہ اور درج کردہ ٹیکسٹ وصول کرتی ہے۔
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 کو زمرہ جات کے پیشگی اندراج کی ضرورت نہیں ہوتی — کارروائیاں 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 ایپلیکیشنز بناتا ہے۔ ہم آپ کو مشورہ دیں گے اور بہترین حل تجویز کریں گے۔
مزید پڑھیں