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 ने iOS 10 में UserNotifications फ्रेमवर्क के साथ Rich Notification समर्थन पेश किया। इससे पहले, पुश नोटिफिकेशन में केवल टेक्स्ट, ध्वनि और बैज हो सकता था। iOS 10 ने UNNotificationServiceExtension और UNNotificationContentExtension पेश किए, जिन्होंने कंटेंट को संशोधित करने और कस्टम इंटरफ़ेस बनाने की क्षमता खोल दी। बाद के संस्करणों में Content Extension में SwiftUI समर्थन, एनिमेटेड GIF और बेहतर मीडिया स्केलिंग जोड़ी गई।

मानक नोटिफिकेशन पर लाभ

Rich Notification उपयोगकर्ता जुड़ाव को महत्वपूर्ण रूप से बढ़ाता है। Apple के अध्ययनों से पता चलता है कि इमेज वाले नोटिफिकेशन को केवल टेक्स्ट वालों की तुलना में 30–40% अधिक इंटरैक्शन मिलते हैं। उत्पाद इमेज, वीडियो प्रीव्यू या त्वरित उत्तर बटन उपयोगकर्ता को ऐप खोले बिना सीधे नोटिफिकेशन से निर्णय लेने की अनुमति देता है। यह लक्ष्य कार्रवाई के मार्ग को छोटा करता है और उपयोगकर्ता अनुभव में सुधार करता है।

मीडिया अटैचमेंट के प्रकार और उनके प्रारूप

UNNotificationAttachment तीन मीडिया श्रेणियों का समर्थन करता है: इमेज, वीडियो और ऑडियो। प्रत्येक प्रकार की प्रारूप, आकार और अवधि की अपनी सीमाएँ हैं। सिस्टम प्रदर्शन अनुकूलन के लिए नोटिफिकेशन आकार में फिट होने के लिए इमेज को स्वचालित रूप से स्केल करता है और वीडियो की अवधि को 30 सेकंड तक सीमित करता है।

मीडिया प्रकारसमर्थित प्रारूपअधिकतम आकार
इमेजJPEG, PNG, GIF, TIFF10 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 तक अनुकूलित करने की अनुशंसा की जाती है।

क्या Rich Notifications सभी iPhone मॉडल पर काम करते हैं?

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 एप्लिकेशन बनाता है। हम आपको सलाह देंगे और सर्वोत्तम समाधान प्रस्तावित करेंगे।

परियोजना पर चर्चा करें

यह भी पढ़ें