اطلاع‌رسانی تعاملی در نرم‌افزارهای موبایل: ماهیت، انواع و نحوه کارکرد

نویسنده: IT Sectr منتشر شده: 2026-03-21 زمان مطالعه: 9 دقیقه

Interactive Notification — یک اطلاع‌رسانی پش با عناصر تعاملی است که به شما اجازه می‌دهد بدون باز کردن برنامه عملی انجام دهید. به گزارش Apple Human Interface Guidelines (2025)، چنین اطلاع‌رسانی‌هایی تعداد مراحل تا عمل هدف را 40% کاهش می‌دهند. دکمه‌های عملیات و فیلدهای ورود به کاربر امکان پاسخ به پیام، پرداخت اشتراک یا تایید رزرو را مستقیماً از پنل اطلاع‌رسانی، بدون باز کردن برنامه، فراهم می‌کند.

نکات کلیدی

  • Interactive Notification — اطلاع‌رسانی با دکمه‌ها یا فیلد ورود که بدون باز کردن برنامه کار می‌کند.
  • کاربر می‌تواند مستقیماً از پنل اطلاع‌رسانی به پیام پاسخ دهد، عملی را تایید کند یا متن وارد کند.
  • iOS از UNNotificationContentExtension با کتگوری‌ها و عملیات برای ایجاد تعامل استفاده می‌کند.
  • Android از طریق NotificationCompat و RemoteInput از اطلاع‌رسانی‌های تعاملی پشتیبانی می‌کند.
  • درگیری برنامه‌های با اطلاع‌رسانی‌های تعاملی بر اساس Localytics (2025) تا 28% افزایش می‌یابد.

Interactive Notification چیست

Interactive Notification — یک فرمت پیشرفته اطلاع‌رسانی پش است که شامل عناصر کنترلی تعاملی مانند دکمه‌ها، کلیدها و فیلدهای ورود متن است. بر خلاف اطلاع‌رسانی استاندارد که فقط اطلاع می‌دهد، اطلاع‌رسانی تعاملی به کاربر امکان می‌دهد عمل مورد نظر را مستقیماً از پنل یا صفحه قفل انجام دهد. به گزارش Google Material Design (2025)، اطلاع‌رسانی‌های تعاملی توسط سیستم‌عامل بدون راه‌اندازی فرآیند اصلی برنامه پردازش می‌شوند — این باطری صرفه‌جویی می‌کند و پاسخگویی را سریع‌تر می‌کند. توسعه‌دهنده از طریق کتگوری‌ها در iOS و کانال‌ها در Android مجموعه عملیات را تعیین می‌کند، و سیستم آنها را بسته به سیاق نمایش می‌دهد.

ساختار اطلاع‌رسانی تعاملی

هر اطلاع‌رسانی تعاملی از سه سطح تشکیل شده است: محتوای اصلی (عنوان، متن)، عملیات (دکمه‌ها) و ورود متن اختیاری. در iOS این مؤلفه‌ها از طریق UNNotificationCategory و در Android از طریق NotificationCompat.Action.Builder ترکیب می‌شوند. سیستم دکمه‌ها را در زیر متن اطلاع‌رسانی به صورت جمع‌شده یا باز بسته بسته به نسخه سیستم‌عامل و طول متن نمایش می‌دهد. کاربر بلافاصله پس از دریافت اطلاع‌رسانی عملیات موجود را می‌بیند و می‌تواند یکی از آنها را بدون مراجعه به برنامه انجام دهد.

اطلاع‌رسانی‌های تعاملی چگونه کار می‌کنند

مکانیزم کاری Interactive Notification به دو فاز تقسیم می‌شود: ثبت کتگوری‌ها در زمان راه‌اندازی برنامه و پردازش عملیات پس از کلیک کاربر. در مرحله ثبت، توسعه‌دهنده اشیای کتگوری با مجموعه‌ای از عملیات ایجاد می‌کند — هر عملیات یک شناسه، عنوان و گزینه‌ها دارد. پس از دریافت اطلاع‌رسانی پش، سیستم آن را با کتگوری ثبت‌شده توسط فیلد categoryIdentifier مطابق می‌دهد و به طور خودکار دکمه‌های مناسب را اضافه می‌کند. وقتی کاربر دکمه‌ای را فشار می‌دهد، سیستم دلگات UNUserNotificationCenter یا PendingIntent را در Android با شناسه عملیات فراخوان می‌کند و نتیجه را به برنامه برمی‌گرداند. به گزارش WWDC 2024، زمان پردازش عملیات تعاملی در iOS با پیکربندی مناسب از 200 میلی‌ثانیه تجاوز نمی‌کند.

انواع اطلاع‌رسانی‌های تعاملی

اطلاع‌رسانی‌های تعاملی بر اساس روش تعامل به سه نوع اصلی تقسیم می‌شوند: دکمه‌ای، متنی و چندرسانه‌ای. هر نوع مسئله خود را حل می‌کند و در سناریوهای مشخصی استفاده می‌شود. انتخاب نوع بسته به سیاق است — هر چه مراحل کمتری از کاربر بخواهد، نرخ تبدیل بالاتر است. Apple و Google توصیه می‌کنند از دکمه‌ها برای تایید، از فیلد ورود برای پاسخ‌ها و از رسانه برای پیش‌نمایش محتوا استفاده کنید.

دکمه‌های عملیات

متداول‌ترین نوع — اطلاع‌رسانی با یک یا چند دکمه، که هر کدام عملی از پیش تعیین‌شده را انجام می‌دهد. به عنوان مثال، دکمه‌های «قبول» و «رد» برای رویداد تقویم، «پسند» و «پاسخ» برای پیام. iOS تا چهار دکمه و Android تا سه دکمه را پشتیبانی می‌کند. دکمه‌ها را می‌توان بر اساس اولویت گروه‌بندی کرد: عادی و تخریبی (نیازمند تایید). Apple برای رحاتی کاربر در صفحه قفل بیش از دو دکمه اصلی را توصیه نمی‌کند.

ورود متن

RemoteInput — فناوری است که به کاربر اجازه می‌دهد مستقیماً در اطلاع‌رسانی متن وارد کند بدون باز کردن برنامه. در iOS از UNTextInputNotificationAction و در Android از RemoteInput.Builder با یک کلید برای استخراج متن واردشده استفاده می‌شود. بیشتر در پیام‌رسان‌ها برای پاسخ سریع به پیام استفاده می‌شود. متن واردشده از طریق سرویس اطلاع‌رسانی یا تنظیم‌کننده محلی به برنامه منتقل می‌شود. محدودیت — متن نمی‌تواند شامل فرمت‌بندی باشد، فقط رشته ساده.

محتوای چندرسانه‌ای

اطلاع‌رسانی‌های با پیوست‌های چندرسانه‌ای تصاویر، صدا و ویدیو را مستقیماً در پنل نمایش می‌دهند. در iOS این از طریق UNNotificationAttachment و در Android از طریق NotificationCompat.MessagingStyle با BigPictureStyle پیاده می‌شود. محتوای چندرسانه‌ای توسط سرور ارائه‌دهنده پش بارگیری شده و همراه با اطلاع‌رسانی به عنوان پیوست ارسال می‌شود. اندازه پیوست محدود است — Apple حداکثر 10 مگابایت و Google حداکثر 1 مگابایت برای تصاویر را توصیه می‌کند. محتوای چندرسانه‌ای اطلاع‌رسانی‌ها را برای اخبار، فروشگاه‌ها و شبکه‌های اجتماعی اطلاع‌رسان‌تر می‌کند.

پیاده‌سازی در iOS

در iOS، Interactive Notification از طریق چارچوب UserNotifications با استفاده از UNNotificationCategory و UNNotificationAction پیاده می‌شود. برنامه کتگوری‌ها را در زمان راه‌اندازی ثبت می‌کند، و پس از دریافت اطلاع‌رسانی، سیستم به طور خودکار دکمه‌های مناسب را نمایش می‌دهد. برای پردازش عملیات، پیاده‌سازی روش userNotificationCenter:didReceiveNotificationResponse:withCompletionHandler ضروری است. در زیر یک مثال ثبت کتگوری با دکمه و ورود متن در Swift آورده شده است.

ثبت کتگوری‌های اطلاع‌رسانی

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، سیستم کتگوری‌ها را ذخیره می‌کند و آنها را برای همه اطلاع‌رسانی‌های بعدی استفاده می‌کند. کد باید در هر راه‌اندازی برنامه فراخوان شود تا کتگوری‌ها با نسخه‌های جدید همگام شوند. پردازش پاسخ در دلگات مرکز اطلاع‌رسانی انجام می‌شود — برنامه شناسه عملیات و متن واردشده را برای پردازش بیشتر دریافت می‌کند.

پردازش کلیک دکمه

swift
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

در Android، اطلاع‌رسانی‌های تعاملی از طریق کلاس NotificationCompat با روش‌های addAction و RemoteInput ایجاد می‌شوند. بر خلاف iOS، Android نیازی به ثبت قبلی کتگوری‌ها ندارد — عملیات مستقیماً از طریق Builder به هر اطلاع‌رسانی اضافه می‌شوند. این انعطاف بیشتری ایجاد می‌کند: هر اطلاع‌رسانی می‌تواند مجموعه منحصر به فردی از دکمه‌ها داشته باشد. در زیر یک مثال اطلاع‌رسانی با دکمه پاسخ در Java با استفاده از RemoteInput آورده شده است.

ایجاد اطلاع‌رسانی با 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 است که فیلد ورود را به عملیات متصل می‌کند. با فشار دکمه «پاسخ»، سیستم یک کادر ورود متن را در داخل اطلاع‌رسانی باز می‌کند. پس از ارسال، متن از طریق Intent به BroadcastReceiver یا Activity مطابق با PendingIntent مشخص‌شده منتقل می‌شود. برای دریافت متن در گیرنده، از RemoteInput.getResultsFromIntent(intent) با کلید «key_reply» استفاده می‌شود.

استخراج متن واردشده

java
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)، برنامه‌های با اطلاع‌رسانی‌های تعاملی در روز هفتم 28% retention بالاتری نشان می‌دهند. در زیر جدولی با سناریوهای محبوب و ویژگی‌های سطح پلتفرم آورده شده است.

سناریوعملیاتپلتفرم
پیام‌رسانپاسخ متنی، پسندiOS + Android
تجارت الکترونیکیتایید، به تعویق افتادن، لغوiOS + Android
تقویمقبول، رد، شایدiOS
اخبارذخیره، اشتراک گذاری، باز کردنAndroid
رزروتایید، تغییر زمان، لغوiOS + Android

در طراحی اطلاع‌رسانی‌های تعاملی مهم است محدودیت را در نظر بگیرید — کاربر فقط یک بار می‌تواند عملیات را انجام دهد. پس از کلیک روی دکمه، اطلاع‌رسانی ناپدید می‌شود یا به وضعیت «انجام شده» می‌رود. بنابراین، هر عملیات باید غیرقابل برگشت باشد یا در مرحله دوم تایید بخواهد.

سوالات متداول

Interactive Notification چیست؟

Interactive Notification — یک اطلاع‌رسانی پش با دکمه‌ها، فیلد ورود یا پیوست چندرسانه‌ای است که به کاربر اجازه می‌دهد بدون باز کردن برنامه عملی انجام دهد. در iOS از طریق UserNotifications و در Android از طریق NotificationCompat پشتیبانی می‌شود.

اطلاع‌رسانی تعاملی چه تفاوتی با پش عادی دارد؟

اطلاع‌رسانی عادی فقط اطلاع می‌دهد — کاربر کلیک می‌کند و برنامه را باز می‌کند. اطلاع‌رسانی تعاملی شامل دکمه‌ها یا فیلد ورود است و عملیات مستقیماً در پنل انجام می‌شود. این مسیر را تا عمل هدف کوتاه کرده و بار برنامه را کاهش می‌دهد.

چند دکمه می‌توان به یک اطلاع‌رسانی تعاملی اضافه کرد؟

در iOS تا چهار دکمه و در Android تا سه دکمه پشتیبانی می‌شود. در Android، دو دکمه در پنل اطلاع‌رسانی نمایش داده می‌شوند و سومینی در منوی کشودنی قابل دسترس است. Apple برای رحاتی کاربر در صفحه قفل بیش از دو دکمه اصلی را توصیه نمی‌کند.

چگونه یک فیلد ورود متن به اطلاع‌رسانی اضافه کنم؟

در iOS از UNTextInputNotificationAction و در Android از RemoteInput.Builder با یک کلید استفاده می‌شود. کاربر متن را در یک کادر محاوره داخل اطلاع‌رسانی وارد می‌کند، و برنامه آن را از طریق دلگات یا Intent بدون راه‌اندازی Activity دریافت می‌کند.

آیا اطلاع‌رسانی‌های تعاملی به اینترنت نیاز دارند؟

دریافت اطلاع‌رسانی پش نیازمند اتصال اینترنت است، اما خود تعامل (نمایش دکمه‌ها، ورود متن) بدون اینترنت کار می‌کند. انتقال نتیجه به سرور می‌تواند تا برقراری مجدد اتصال به تعویق بیفتد.

نتیجه

  • Interactive Notification — اطلاع‌رسانی پش با دکمه‌ها یا فیلد ورود برای عملیات بدون باز کردن برنامه.
  • انواع — دکمه‌ای، متنی (RemoteInput) و چندرسانه‌ای (با تصاویر و ویدیو).
  • iOS تعامل را از طریق UNNotificationCategory، UNNotificationAction و UNTextInputNotificationAction پیاده می‌کند.
  • Android از NotificationCompat، RemoteInput و PendingIntent برای پردازش عملیات استفاده می‌کند.
  • Retention برنامه‌های با اطلاع‌رسانی‌های تعاملی بر اساس Localytics (2025) در روز هفتم 28% بالاتر است.
  • محدودیت — عملیات یک بار انجام می‌شود، پس از کلیک دکمه اطلاع‌رسانی به وضعیت «انجام شده» می‌رود.
  • توصیه — از تعامل برای عملیات سریع استفاده کنید: پاسخ به پیام، تایید سفارش، پذیرش دعوت.

ما یک اپلیکیشن موبایل به صورت کلید در دست توسعه خواهیم داد

IT Sectr از سال 2017 برنامه‌های iOS و Android را برای استارتاپ‌ها و کسب‌وکارها ایجاد می‌کند. ما به شما مشاوره می‌دهیم و بهترین راه‌حل را پیشنهاد خواهیم کرد.

بحث درباره پروژه

همچنین بخوانید