Rich Notification: এটি কী, মিডিয়া কন্টেন্ট এবং নোটিফিকেশন তৈরি

লেখক: IT Sectr প্রকাশিত: 2026-03-20 পড়ার সময়: 8 মিনিট

Rich Notification হল iOS পুশ নোটিফিকেশনের একটি বর্ধিত ফরম্যাট যাতে মিডিয়া অ্যাটাচমেন্ট, ইন্টারঅ্যাকটিভ বাটন এবং ব্যবহারকারীর অভিজ্ঞতা উন্নত করার জন্য কাস্টম ইন্টারফেস অন্তর্ভুক্ত থাকে। স্ট্যান্ডার্ড টেক্সট নোটিফিকেশনের বিপরীতে, Rich Notification ব্যানার বা লক স্ক্রিনে সরাসরি ইমেজ, ভিডিও এবং অডিও প্রদর্শন করতে পারে। Apple Developer Documentation, 2026 অনুসারে, UNNotificationAttachment একটি নোটিফিকেশনে 10টি ফাইল পর্যন্ত সমর্থন করে এবং সমস্ত ডিভাইসে সর্বোত্তম প্রদর্শনের জন্য সেগুলিকে স্বয়ংক্রিয়ভাবে স্কেল করে।

মুখ্য বিষয়

  • মিডিয়া অ্যাটাচমেন্ট — Rich Notification UNNotificationAttachment-এর মাধ্যমে ইমেজ (JPEG, PNG, GIF), ভিডিও (MP4, MOV 30 সেকেন্ড পর্যন্ত) এবং অডিও (MP3, AAC, WAV) সমর্থন করে।
  • ইন্টারঅ্যাকটিভিটি — বাটন এবং টেক্সট ইনপুট UNNotificationAction এবং UNTextInputNotificationAction-এর মাধ্যমে যোগ করা হয়, যা নোটিফিকেশন ক্যাটাগরির সাথে সংযুক্ত।
  • Service Extension — মিডিয়া লোড করার জন্য বাধ্যতামূলক উপাদান: এটি পেলোড URL থেকে অ্যাটাচমেন্ট ডাউনলোড করে এবং কন্টেন্টে যোগ করে।
  • Content Extension — কাস্টম UI, অ্যানিমেশন এবং জেসচার হ্যান্ডলিং সহ সম্পূর্ণ কাস্টম নোটিফিকেশন ইন্টারফেস তৈরি করে।
  • সীমা — সর্বোচ্চ অ্যাটাচমেন্ট আকার 10 MB, এক্সটেনশন মেমরি সীমা 50 MB, প্রক্রিয়াকরণ সময় 30 সেকেন্ড পর্যন্ত।

Rich Notification কী

Rich Notification হল একটি iOS পুশ নোটিফিকেশন যাতে কেবল টেক্সট নয়, বরং মিডিয়া অ্যাটাচমেন্ট, ইন্টারঅ্যাকটিভ এলিমেন্ট এবং একটি কাস্টমাইজড ইন্টারফেস থাকে। “rich” শব্দটি নোটিফিকেশনে ইমেজ, ভিডিও, অডিও, অ্যাকশন বাটন এবং টেক্সট ইনপুট অন্তর্ভুক্ত করার ক্ষমতা প্রতিফলিত করে, যা একটি সাধারণ সতর্কতাকে একটি পূর্ণাঙ্গ ইন্টারঅ্যাকটিভ উপাদানে রূপান্তরিত করে।

iOS-এ নোটিফিকেশনের বিবর্তন

Apple UserNotifications ফ্রেমওয়ার্কের সাথে iOS 10-এ Rich Notification সমর্থন চালু করে। এর আগে, পুশ নোটিফিকেশনে কেবল টেক্সট, শব্দ এবং ব্যাজ থাকতে পারত। iOS 10 UNNotificationServiceExtension এবং UNNotificationContentExtension চালু করে, যা কন্টেন্ট পরিবর্তন এবং কাস্টম ইন্টারফেস তৈরি করার ক্ষমতা উন্মুক্ত করে। পরবর্তী সংস্করণগুলি Content Extension-এ SwiftUI সমর্থন, অ্যানিমেটেড GIF এবং উন্নত মিডিয়া স্কেলিং যোগ করে।

স্ট্যান্ডার্ড নোটিফিকেশনের তুলনায় সুবিধা

Rich Notification ব্যবহারকারীর সম্পৃক্ততা উল্লেখযোগ্যভাবে বৃদ্ধি করে। Apple-এর গবেষণায় দেখা যায় যে ইমেজযুক্ত নোটিফিকেশনগুলি কেবল টেক্সটযুক্ত নোটিফিকেশনের তুলনায় 30–40% বেশি ইন্টারঅ্যাকশন পায়। একটি পণ্যের ইমেজ, ভিডিও প্রিভিউ বা দ্রুত উত্তর বাটন ব্যবহারকারীকে অ্যাপ না খুলেই সরাসরি নোটিফিকেশন থেকে সিদ্ধান্ত নিতে দেয়। এটি লক্ষ্য কর্মের পথকে সংক্ষিপ্ত করে এবং ব্যবহারকারীর অভিজ্ঞতা উন্নত করে।

মিডিয়া অ্যাটাচমেন্টের ধরন এবং তাদের ফরম্যাট

UNNotificationAttachment তিনটি মিডিয়া বিভাগ সমর্থন করে: ইমেজ, ভিডিও এবং অডিও। প্রতিটি প্রকারের ফরম্যাট, আকার এবং সময়সীমার নিজস্ব সীমাবদ্ধতা রয়েছে। সিস্টেম কর্মক্ষমতা অপ্টিমাইজেশনের জন্য নোটিফিকেশন আকারে ফিট করতে ইমেজগুলি স্বয়ংক্রিয়ভাবে স্কেল করে এবং ভিডিওর সময়কাল 30 সেকেন্ডে সীমাবদ্ধ করে।

মিডিয়ার ধরনসমর্থিত ফরম্যাটসর্বোচ্চ আকার
ইমেজJPEG, PNG, GIF, TIFFপ্রতি ফাইলে 10 MB
ভিডিওMPEG, MP4, MOV10 MB, 30 সেকেন্ড পর্যন্ত
অডিওMP3, AAC, WAV, CAF10 MB

ইমেজ এবং অ্যানিমেটেড GIF

ইমেজগুলি কমপ্যাক্ট এবং বর্ধিত নোটিফিকেশন ভিউতে প্রদর্শনের জন্য সিস্টেম দ্বারা স্বয়ংক্রিয়ভাবে ক্রপ এবং স্কেল করা হয়। অ্যানিমেটেড GIF iOS 12 থেকে সমর্থিত এবং নোটিফিকেশন দেখার সময় স্বয়ংক্রিয়ভাবে চলে। প্রস্তাবিত ইমেজ আকার 1024x1024 পিক্সেল, যা বড় স্ক্রিনের iPad সহ সমস্ত ডিভাইসে পরিষ্কার প্রদর্শন নিশ্চিত করে।

ভিডিও এবং অডিও অ্যাটাচমেন্ট

Rich Notification-এ ভিডিও ডিফল্টভাবে শব্দ ছাড়া চলে — ব্যবহারকারী প্লেয়ার বাটনের মাধ্যমে শব্দ চালু করতে পারেন। সর্বোচ্চ ভিডিও সময়কাল 30 সেকেন্ড, তার পরে প্লেব্যাক বন্ধ হয়ে যায়। অডিও অ্যাটাচমেন্ট ভয়েস বার্তা বা শব্দ প্রিভিউর জন্য ব্যবহার করা যেতে পারে এবং বর্ধিত ভিউতে নোটিফিকেশনে ট্যাপ করলে চলে।

ইন্টারঅ্যাকটিভ বাটন এবং অ্যাকশন

ইন্টারঅ্যাকটিভ অ্যাকশন ব্যবহারকারীকে অ্যাপ না খুলেই সরাসরি নোটিফিকেশন থেকে অপারেশন করতে দেয়। অ্যাকশনগুলি অ্যাপ চালু হওয়ার সময় UNNotificationCategory এবং UNNotificationAction-এর মাধ্যমে নিবন্ধিত হয়। প্রতিটি অ্যাকশন ব্যাকগ্রাউন্ড (অ্যাপ না খুলে) বা ফোরগ্রাউন্ড (অপারেশন সম্পূর্ণ করতে অ্যাপ খোলে) হতে পারে।

UNNotificationAction এবং UNTextInputNotificationAction

UNNotificationAction একটি শিরোনাম এবং ঐচ্ছিক মডিফায়ার যেমন requiresAuthentication (Face ID/Touch ID প্রয়োজন) বা destructive (লাল রঙে হাইলাইট) সহ একটি বাটন উপস্থাপন করে। UNTextInputNotificationAction একটি টেক্সট ইনপুট ক্ষেত্র যোগ করে এই ক্ষমতা বাড়ায় — বার্তা বা মন্তব্যের দ্রুত উত্তরের জন্য আদর্শ। নোটিফিকেশনে দীর্ঘ চাপ বা নিচে সোয়াইপ করলে অ্যাকশনগুলি প্রদর্শিত হয়।

ক্যাটাগরি এবং অ্যাকশন নিবন্ধন

নোটিফিকেশন ক্যাটাগরি কন্টেন্টের ধরনকে উপলব্ধ অ্যাকশনের সেটের সাথে সংযুক্ত করে। নিবন্ধন প্রক্রিয়া অ্যাপ চালু হওয়ার সময় AppDelegate-এ UNUserNotificationCenter.current().setNotificationCategories-এর মাধ্যমে সম্পাদিত হয়। ক্যাটাগরি সার্ভারে JSON পেলোডের category ফিল্ডে নির্দিষ্ট করা হয় এবং সিস্টেম স্বয়ংক্রিয়ভাবে নোটিফিকেশনে অ্যাকশনের সংশ্লিষ্ট সেট প্রয়োগ করে।

অ্যাকশন ট্যাপ হ্যান্ডলিং

যখন ব্যবহারকারী একটি বাটন টিপে বা টেক্সট জমা দেয়, সিস্টেম didReceive response পদ্ধতি সহ UNUserNotificationCenterDelegate-কে কল করে। UNNotificationResponse-এ অ্যাকশন আইডেন্টিফায়ার এবং প্রবেশ করানো টেক্সট (UNTextInputNotificationAction-এর জন্য) থাকে। এই তথ্যের ভিত্তিতে, অ্যাপ সংশ্লিষ্ট বিজনেস লজিক সম্পাদন করে: একটি বার্তা পাঠায়, একটি অ্যাকশন নিশ্চিত করে বা একটি নির্দিষ্ট স্ক্রিন খোলে।

Swift-এ Rich Notification বাস্তবায়ন

আসুন Rich Notification তৈরির সম্পূর্ণ চক্রটি দেখি: AppDelegate-এ ক্যাটাগরি নিবন্ধন থেকে Service Extension-এ প্রক্রিয়াকরণ এবং প্রদর্শন পর্যন্ত। AppDelegate বাটন সহ ক্যাটাগরি নিবন্ধন করে, সার্ভার একটি ইমেজ URL সহ নোটিফিকেশন পাঠায়, Service Extension মিডিয়া ডাউনলোড করে এবং Content Extension বাটন সহ একটি কাস্টম ইন্টারফেস প্রদর্শন করে।

swift
// AppDelegate — ক্যাটাগরি এবং অ্যাকশন নিবন্ধন
func application(
    _ application: UIApplication,
    didFinishLaunchingWithOptions launchOptions:
    [UIApplication.LaunchOptionsKey: Any]?
) -> Bool {

    let replyAction = UNTextInputNotificationAction(
        identifier: "reply",
        title: "উত্তর দিন",
        options: [.authenticationRequired])

    let likeAction = UNNotificationAction(
        identifier: "like",
        title: "পছন্দ করুন",
        options: [])

    let category = UNNotificationCategory(
        identifier: "social_post",
        actions: [replyAction, likeAction],
        intentIdentifiers: [],
        options: [])

    UNUserNotificationCenter.current()
        .setNotificationCategories([category])
    return true
}

ইমেজ লোড করার জন্য Service Extension

কাস্টম ফিল্ডে “social_post” ক্যাটাগরি এবং একটি ইমেজ URL সহ পুশ নোটিফিকেশন পাওয়ার পর, Service Extension সক্রিয় হয়। এক্সটেনশন ইমেজ ডাউনলোড করে নেটওয়ার্ক থেকে, একটি অনন্য আইডেন্টিফায়ার সহ UNNotificationAttachment তৈরি করে এবং এটি কন্টেন্টে যোগ করে। ডাউনলোড করা ফাইলের আকার পরীক্ষা করা গুরুত্বপূর্ণ — যদি এটি 10 MB অতিক্রম করে, অ্যাটাচমেন্ট তৈরি হবে না এবং সিস্টেম মিডিয়া ছাড়া নোটিফিকেশন দেখাবে।

swift
class NotificationService: UNNotificationServiceExtension {

    override func didReceive(
        _ request: UNNotificationRequest,
        withContentHandler contentHandler:
        @escaping (UNNotificationContent) -> Void
    ) {
        let content = (request.content.mutableCopy()
            as! UNMutableNotificationContent)
        guard let urlString = content.userInfo["media-url"]
            as? String,
            let url = URL(string: urlString)
        else { contentHandler(request.content); return }

        URLSession.shared.downloadTask(with: url) {
            location, _, _ in
            guard let location = location else {
                contentHandler(content); return }
            let attachment = try! UNNotificationAttachment(
                identifier: "media", url: location,
                options: [UNNotificationAttachmentOptionsTypeHintKey:
                    "jpg"])
            content.attachments = [attachment]
            contentHandler(content)
        }.resume()
    }
}

Rich Notification পরীক্ষা

সার্ভার ছাড়া Rich Notification পরীক্ষা করতে, iOS সিমুলেটর ব্যবহার করুন এবং xcrun simctl push-এর মাধ্যমে টার্মিনালে পুশ পাঠান। পেলোডে, Service Extension সক্রিয় করতে mutable-content: 1 এবং অ্যাকশন প্রদর্শনের জন্য ক্যাটাগরি নির্দিষ্ট করতে ভুলবেন না। কমান্ডটি নির্বাচিত সিমুলেটরে সরাসরি একটি JSON ফাইল থেকে পুশ চালায়, যা সার্ভার অবকাঠামো সেটআপ না করেই দ্রুত পুনরাবৃত্তির অনুমতি দেয়।

Content Extension এবং কাস্টম ইন্টারফেস

UNNotificationContentExtension আপনাকে স্ট্যান্ডার্ড নোটিফিকেশন ইন্টারফেস সম্পূর্ণরূপে একটি কাস্টম UIKit বা SwiftUI ভিউ দিয়ে প্রতিস্থাপন করতে দেয়। এক্সটেনশনটি সক্রিয় হয় যখন ব্যবহারকারী নোটিফিকেশন প্রসারিত করে (ফোর্স টাচ বা নিচে সোয়াইপ) এবং এতে বাটন, স্লাইডার, অ্যানিমেশন এবং অন্যান্য UI উপাদান থাকতে পারে। Auto Layout ব্যবহার করে ইন্টারফেসের আকার কন্টেন্টের সাথে খাপ খায়।

Content Extension-এ Storyboard এবং SwiftUI

Content Extension UIViewController থেকে উত্তরাধিকারসূত্রে প্রাপ্ত ভিউ কন্ট্রোলার সহ storyboard-এর উপর ভিত্তি করে। SwiftUI View iOS 16 থেকে UIHostingController-এর মাধ্যমে সংহত হয়, যা ইন্টারফেস তৈরির জন্য আধুনিক পদ্ধতির অনুমতি দেয়। iOS 14–15-এর সাথে পশ্চাদগামী সামঞ্জস্যের জন্য, xib ফাইল সহ UIKit ব্যবহার করার পরামর্শ দেওয়া হয়। ইন্টারফেস UNNotificationContent-এর মাধ্যমে Service Extension থেকে পরিবর্তিত কন্টেন্ট গ্রহণ করে।

ব্যবহারকারীর অ্যাকশন হ্যান্ডলিং

Content Extension didReceive response পদ্ধতি সহ UNNotificationContentExtension প্রোটোকল বাস্তবায়ন করে। UNNotificationResponse-এ চাপা বাটন বা প্রবেশ করানো টেক্সট সম্পর্কে তথ্য থাকে। এক্সটেনশন নোটিফিকেশন বন্ধ না করেই ইন্টারফেস আপডেট করতে পারে বা এটি বন্ধ করতে কমপ্লিশন হ্যান্ডলার কল করতে পারে। এটি দ্রুত ইন্টারঅ্যাকশন দৃশ্যকল্প তৈরি করতে দেয়, যেমন নোটিফিকেশনে সরাসরি ভিজ্যুয়াল প্রতিক্রিয়া সহ একটি “লাইক”।

ডিজাইন সুপারিশ

Apple সুপারিশ করে Content Extension সংক্ষিপ্ত এবং কার্যকরী রাখতে, অতিরিক্ত উপাদান এড়িয়ে। প্রসারিত নোটিফিকেশনের সর্বোচ্চ উচ্চতা প্রায় 400 পয়েন্ট, তার পরে কন্টেন্ট স্ক্রোল হয়। অন্যান্য নোটিফিকেশনের সাথে সামঞ্জস্যের জন্য সিস্টেম ফন্ট এবং স্পেসিং ব্যবহার করুন। বিভিন্ন স্ক্রিন আকারে পরীক্ষা করুন যাতে নিশ্চিত হন যে ইন্টারফেস iPhone এবং iPad উভয়েই সঠিকভাবে প্রদর্শিত হয়।

প্রায়শই জিজ্ঞাসিত প্রশ্ন

Rich Notification-এ সর্বোচ্চ ইমেজ আকার কত?

একটি মিডিয়া অ্যাটাচমেন্টের সর্বোচ্চ আকার 10 MB। সীমা অতিক্রম করলে, UNNotificationAttachment তৈরি হয় না এবং নোটিফিকেশন মিডিয়া ছাড়া প্রদর্শিত হয়। Service Extension-এ দ্রুত লোডিংয়ের জন্য ইমেজ 1–3 MB-তে অপ্টিমাইজ করার পরামর্শ দেওয়া হয়।

সব iPhone মডেলে কি Rich Notifications কাজ করে?

Rich Notifications iOS 10 এবং তার পরবর্তী সংস্করণের সমস্ত ডিভাইসে সমর্থিত, যার মধ্যে iPhone 5s এবং নতুন মডেল অন্তর্ভুক্ত। কাস্টম UI সহ Content Extension iOS 12 থেকে উপলব্ধ। Content Extension-এ SwiftUI — iOS 16 থেকে। পুরোনো সংস্করণে, নোটিফিকেশন স্ট্যান্ডার্ড ফর্মে প্রদর্শিত হয়।

Rich Notification-এ GIF ব্যবহার করা যায় কি?

হ্যাঁ, অ্যানিমেটেড GIF iOS 12 থেকে সমর্থিত। GIF একটি সাধারণ ইমেজের মতো UNNotificationAttachment-এর মাধ্যমে লোড হয় এবং নোটিফিকেশন দেখার সময় স্বয়ংক্রিয়ভাবে চলে। GIF-এর আকার অন্যান্য ফরম্যাটের মতো 10 MB-তে সীমাবদ্ধ।

একটি নোটিফিকেশনে কতগুলি বাটন যোগ করা যায়?

একটি ক্যাটাগরি নিবন্ধন করার সময় প্রতি নোটিফিকেশনে সর্বোচ্চ 4টি অ্যাকশন। আরও নির্দিষ্ট করা হলে, সিস্টেম প্রথম 4টি প্রদর্শন করে এবং বাকিগুলি উপেক্ষা করে। সর্বোত্তম UX-এর জন্য 2–3টি বাটন ব্যবহার করার পরামর্শ দেওয়া হয় — অনেকগুলি বিকল্প ইন্টারফেস ওভারলোড করে।

Rich Notifications পাঠানোর জন্য কি সার্ভার প্রয়োজন?

হ্যাঁ, সার্ভারকে কাস্টম ফিল্ডে মিডিয়া ফাইল URL এবং mutable-content: 1 ফ্লাগ সহ JSON পেলোডের মাধ্যমে APNS (Apple Push Notification service) দিয়ে পুশ পাঠাতে হবে। সার্ভার Content Extension এবং অ্যাকশন সক্রিয় করতে ক্যাটাগরিও নির্দিষ্ট করে।

সারাংশ

  • Rich Notification — মিডিয়া অ্যাটাচমেন্ট, ইন্টারঅ্যাকটিভ বাটন এবং কাস্টম UI সহ একটি iOS পুশ নোটিফিকেশন যা ব্যবহারকারীর সম্পৃক্ততা বাড়ায়।
  • সমর্থিত মিডিয়া — JPEG/PNG/GIF ইমেজ, MP4/MOV ভিডিও (30 সেকেন্ড পর্যন্ত), MP3/AAC/WAV অডিও প্রতি ফাইলে 10 MB সীমা সহ।
  • Service Extension পেলোড URL থেকে মিডিয়া ডাউনলোড করে এবং নোটিফিকেশন কন্টেন্টে UNNotificationAttachment যোগ করে।
  • ইন্টারঅ্যাকটিভ অ্যাকশন — প্রতি ক্যাটাগরিতে 4টি বাটন পর্যন্ত, UNTextInputNotificationAction-এর মাধ্যমে টেক্সট ইনপুট সহ।
  • Content Extension স্ট্যান্ডার্ড ইন্টারফেসকে নির্বিচার উপাদান সহ কাস্টম UIKit/SwiftUI ভিউ দিয়ে প্রতিস্থাপন করে।
  • Content Extension ট্যাপ হ্যান্ডলিং এবং রিয়েল টাইমে UI আপডেট করার জন্য didReceive পদ্ধতি সহ UNNotificationContentExtension প্রোটোকল বাস্তবায়ন করে।
  • Rich Notification সমস্ত স্তরে কনফিগারেশন প্রয়োজন: সার্ভার (APNS), Service Extension (মিডিয়া লোডিং) এবং AppDelegate (ক্যাটাগরি নিবন্ধন)।

আমরা একটি মোবাইল অ্যাপ্লিকেশন টার্নকি তৈরি করব

IT Sectr 2017 সাল থেকে স্টার্টআপ এবং ব্যবসার জন্য iOS এবং Android অ্যাপ্লিকেশন তৈরি করে। আমরা আপনাকে পরামর্শ দেব এবং সেরা সমাধান প্রস্তাব করব।

প্রকল্প নিয়ে আলোচনা করুন

আরও পড়ুন