Notification Category: यह क्या है, कौन सी श्रेणियाँ हैं और iOS में कैसे काम करती हैं

लेखक: IT Sectr प्रकाशित: 2026-03-20 पढ़ने का समय: 8 मिनट

Notification Category (नोटिफिकेशन श्रेणी) एक iOS तंत्र है जो पुश नोटिफिकेशन को प्रकार के अनुसार समूहित करने और उनमें कस्टम क्रियाएँ जोड़ने के लिए है। श्रेणी यह निर्धारित करती है कि नोटिफिकेशन पर 3D Touch या लॉन्ग-प्रेस करने पर कौन से बटन दिखाए जाएँ, साथ ही सिस्टम इस प्रकार के आने वाले नोटिफिकेशन को कैसे प्रोसेस करता है। Apple डेवलपर दस्तावेज़ के अनुसार, UNNotificationCategory को UNUserNotificationCenter में रजिस्टर किया जाता है और APNS पेलोड में category फ़ील्ड के माध्यम से नोटिफिकेशन से जोड़ा जाता है।

मुख्य बातें

  • Notification Category — पुश नोटिफिकेशन को वर्गीकृत करने और उनमें क्रियाएँ जोड़ने का iOS तंत्र
  • UNNotificationCategory — एक क्लास जो UNNotificationAction के सेट के साथ श्रेणी रजिस्टर करती है
  • क्रियाएँ — नोटिफिकेशन के नीचे बटन: UNTextInputAction टेक्स्ट इनपुट के लिए, UNNotificationAction टैप के लिए
  • संबंध — श्रेणी APNS पेलोड में aps डिक्शनरी में category की के माध्यम से निर्दिष्ट की जाती है
  • Android से अंतर — iOS Category क्रियाएँ प्रबंधित करती है, जबकि Android Channel महत्व और ध्वनि प्रबंधित करता है

iOS में Notification Category क्या है?

Notification Category एक iOS सुविधा है (संस्करण 8.0 से) जो डेवलपर्स को पुश नोटिफिकेशन को वर्गीकृत करने और उनमें इंटरैक्टिव क्रियाएँ जोड़ने की अनुमति देती है। जब उपयोगकर्ता कोई नोटिफिकेशन प्राप्त करता है और ज़ोर से दबाता है (3D Touch) या लॉन्ग-प्रेस करता है, तो श्रेणी द्वारा परिभाषित बटन दिखाई देते हैं। यह नोटिफिकेशन को इंटरैक्टिव बनाता है और उपयोगकर्ताओं को ऐप खोले बिना कार्रवाई करने की अनुमति देता है।

एक श्रेणी UNNotificationCategory ऑब्जेक्ट के माध्यम से रजिस्टर की जाती है, जिसमें एक पहचानकर्ता, क्रियाओं की एक सरणी और वैकल्पिक प्रदर्शन पैरामीटर होते हैं। सिस्टम APNS पेलोड से श्रेणी पहचानकर्ता का उपयोग रजिस्टर की गई श्रेणी खोजने और संबंधित बटन प्रदर्शित करने के लिए करता है।

Android Notification Channel के विपरीत, iOS Category महत्व, ध्वनि या कंपन का प्रबंधन नहीं करती है। इसका एकमात्र उद्देश्य नोटिफिकेशन के लिए इंटरैक्टिव क्षमताएँ प्रदान करना है: उत्तर, पुष्टि, रद्द या टेक्स्ट इनपुट बटन।

क्या श्रेणियाँ अनिवार्य हैं?

iOS पर पुश नोटिफिकेशन प्रदर्शित करने के लिए श्रेणियाँ अनिवार्य नहीं हैं। नोटिफिकेशन वैसे भी दिखाई देगा — श्रेणी रजिस्टर होने पर बटन के साथ, या उनके बिना। श्रेणियाँ केवल नोटिफिकेशन में इंटरैक्टिविटी जोड़ने के लिए आवश्यक हैं।

नोटिफिकेशन श्रेणियाँ कैसे काम करती हैं?

श्रेणी तंत्र में चार चरण होते हैं: क्लाइंट पर श्रेणी रजिस्टर करना, श्रेणी के साथ APNS पेलोड भेजना, सिस्टम द्वारा श्रेणी पहचानना, और उपयोगकर्ता क्रिया को संभालना।

  • रजिस्ट्रेशन — ऐप क्रियाओं की सरणी के साथ UNNotificationCategory बनाता है और UNUserNotificationCenter में रजिस्टर करता है
  • भेजना — सर्वर APNS पेलोड में category की को श्रेणी पहचानकर्ता से मेल खाने वाले मान के साथ शामिल करता है
  • प्रदर्शन — iOS नोटिफिकेशन दिखाता है और फ़ोर्स टच पर श्रेणी से जुड़े बटन प्रदर्शित करता है
  • संभालना — उपयोगकर्ता एक बटन दबाता है, जिससे UNUserNotificationCenterDelegate.didReceive response ट्रिगर होता है

श्रेणी में क्रियाएँ दो प्रकार की हो सकती हैं: foreground (ऐप खोलती हैं) और background (पृष्ठभूमि में निष्पादित होती हैं)। पृष्ठभूमि क्रियाओं के लिए, ऐप को UNNotificationActionHandler में प्रोसेस करने के लिए सीमित समय (लगभग 30 सेकंड) मिलता है।

श्रेणी रजिस्टर करने के विकल्प

UNNotificationCategory options पैरामीटर के माध्यम से कई विकल्पों का समर्थन करता है: customDismissAction — नोटिफिकेशन को स्वाइप करने पर ईवेंट प्राप्त करना, allowInCarPlay — CarPlay में क्रियाएँ दिखाना, hiddenPreviewsBodyPlaceholder — छिपे हुए प्रीव्यू के लिए कस्टम प्लेसहोल्डर टेक्स्ट।

UNNotificationAction: क्रियाओं के प्रकार

iOS नोटिफिकेशन श्रेणियों के लिए दो प्रकार की क्रियाएँ प्रदान करता है। प्रत्येक प्रकार का अपना उद्देश्य और उपयोगकर्ता के साथ बातचीत करने का तरीका होता है।

प्रकारक्लासविवरणउदाहरण
सरल क्रियाUNNotificationActionशीर्षक और विकल्पों (destructive, foreground, authenticationRequired) वाला बटन“हटाएँ”, “देखें”
टेक्स्ट इनपुटUNTextInputActionएक बटन जो प्लेसहोल्डर के साथ टेक्स्ट इनपुट फ़ील्ड खोलता है“उत्तर दें”, “टिप्पणी करें”

UNTextInputAction एक अनूठी iOS सुविधा है। जब उपयोगकर्ता “उत्तर दें” बटन दबाता है, तो सिस्टम एक टेक्स्ट फ़ील्ड दिखाता है जहाँ उपयोगकर्ता अपना उत्तर टाइप करता है। दर्ज किया गया टेक्स्ट क्रिया पहचानकर्ता के साथ डेलिगेट को भेजा जाता है। यह ऐप खोले बिना त्वरित उत्तर लागू करने की अनुमति देता है।

क्रिया विकल्प: options.authenticationRequired — डिवाइस अनलॉक करना आवश्यक है, options.destructive — बटन को लाल रंग में हाइलाइट करता है (खतरनाक क्रियाओं के लिए), options.foreground — दबाने के बाद ऐप खोलता है।

iOS कोड में श्रेणी सेट करना

श्रेणियाँ ऐप लॉन्च पर रजिस्टर की जाती हैं, आमतौर पर didFinishLaunchingWithOptions विधि में। रजिस्ट्रेशन UNUserNotificationCenter के माध्यम से, नोटिफिकेशन अनुमति का अनुरोध करने के बाद किया जाता है। श्रेणियाँ प्रत्येक लॉन्च पर अपडेट की जा सकती हैं — पुराने संस्करण नए से बदल दिए जाते हैं।

swift
import UserNotifications

class AppDelegate: UIResponder, UIApplicationDelegate {

    func registerNotificationCategories() {
        let replyAction = UNTextInputNotificationAction(
            identifier: "reply",
            title: "उत्तर दें",
            options: [.foreground],
            textInputButtonTitle: "भेजें",
            textInputPlaceholder: "संदेश लिखें..."
        )

        let deleteAction = UNNotificationAction(
            identifier: "delete",
            title: "हटाएँ",
            options: [.destructive]
        )

        let messageCategory = UNNotificationCategory(
            identifier: "message",
            actions: [replyAction, deleteAction],
            intentIdentifiers: [],
            options: [.customDismissAction]
        )

        UNUserNotificationCenter.current()
            .setNotificationCategories([messageCategory])
    }

    func application(
        _ application: UIApplication,
        didFinishLaunchingWithOptions options: [UIApplication.LaunchOptionsKey: Any]?
    ) -> Bool {
        UNUserNotificationCenter.current().delegate = self
        registerNotificationCategories()
        return true
    }
}

श्रेणी रजिस्टर करने के बाद, APNS पेलोड में category = “message” वाला कोई भी नोटिफिकेशन “उत्तर दें” और “हटाएँ” बटन दिखाएगा। टैप संभालना userNotificationCenter:didReceive response में होता है, जहाँ actionIdentifier यह निर्धारित करता है कि कौन सा बटन दबाया गया था।

डेलिगेट में टैप संभालना

जब उपयोगकर्ता श्रेणी बटन दबाता है, iOS UNNotificationResponse ऑब्जेक्ट के साथ UNUserNotificationCenterDelegate को कॉल करता है। response.actionIdentifier में दबाए गए बटन का पहचानकर्ता होता है, और response.notification.request.content.userInfo में पेलोड से कस्टम डेटा होता है।

Android चैनलों से अंतर

Android Notification Channels से परिचित डेवलपर्स अक्सर उन्हें iOS Notification Categories के साथ भ्रमित करते हैं। समान नाम के बावजूद, ये तंत्र अलग-अलग कार्यों को हल करते हैं और अलग-अलग तरीके से काम करते हैं।

  • उद्देश्य — Android Channels नोटिफिकेशन के महत्व और दृश्यता का प्रबंधन करते हैं; iOS Categories इंटरैक्टिव क्रियाओं का प्रबंधन करती हैं
  • अनिवार्यता — Android Channel नोटिफिकेशन दिखाने के लिए अनिवार्य है; iOS Category वैकल्पिक है
  • उपयोगकर्ता नियंत्रण — Android उपयोगकर्ता सिस्टम सेटिंग्स में चैनल कॉन्फ़िगर करते हैं; iOS श्रेणियाँ उपयोगकर्ता को सीधे दिखाई नहीं देती हैं
  • समूहीकरण — Android Channels को ChannelGroups में समूहित किया जा सकता है; iOS Categories को समूहित नहीं किया जाता

दोनों प्लेटफ़ॉर्म दोनों तंत्रों को जोड़ सकते हैं: Android पर, एक नोटिफिकेशन NotificationCompat की क्रियाओं वाले चैनल से संबंधित हो सकता है, जबकि iOS पर, एक श्रेणी चैनलों की पूरक होती है, जिन्हें iOS में thread-id कहा जाता है और नोटिफिकेशन सेंटर में नोटिफिकेशन समूहित करने के लिए उपयोग किया जाता है।

श्रेणी के साथ APNS पेलोड

नोटिफिकेशन को श्रेणी बटन के साथ प्रदर्शित करने के लिए, सर्वर को APNS पेलोड में category की शामिल करनी होगी। इस की के बिना, सिस्टम को पता नहीं चलेगा कि नोटिफिकेशन पर कौन सी श्रेणी लागू करनी है।

json
{
    "aps": {
        "alert": {
            "title": "नया संदेश",
            "body": "अन्ना: नमस्ते! कैसे हो?"
        },
        "category": "message",
        "thread-id": "chat_123",
        "badge": 5,
        "sound": "default"
    }
}

category की को क्लाइंट पर setNotificationCategories के माध्यम से रजिस्टर किए गए पहचानकर्ता से बिल्कुल मेल खाना चाहिए। केस मायने रखता है — “message” और “Message” अलग-अलग श्रेणियाँ मानी जाती हैं। यदि श्रेणी नहीं मिलती है, तो नोटिफिकेशन बटन के बिना दिखाई देता है, लॉग में कोई त्रुटि नहीं होती।

अज्ञात श्रेणी को संभालना

यदि सर्वर ऐसी श्रेणी वाला नोटिफिकेशन भेजता है जो क्लाइंट पर रजिस्टर नहीं है, तो iOS श्रेणी को अनदेखा करता है और नोटिफिकेशन को बटन के बिना दिखाता है। त्रुटि लॉग नहीं होती, और ऐप को बेमेल के बारे में पता नहीं चलता। सर्वर और क्लाइंट के बीच श्रेणियों की सूची को सिंक्रोनाइज़ करने की अनुशंसा की जाती है।

श्रेणी डिज़ाइन पैटर्न

iOS में नोटिफिकेशन श्रेणियाँ डिज़ाइन करते समय, एक श्रेणी — एक परिदृश्य के सिद्धांत का पालन करें। प्रत्येक श्रेणी एक विशिष्ट प्रकार की बातचीत के अनुरूप होनी चाहिए: संदेश का उत्तर देना, क्रिया की पुष्टि करना, या अनुरोध को अस्वीकार करना। एक ही श्रेणी में विभिन्न परिदृश्यों को न मिलाएँ।

उन परिदृश्यों के लिए UNTextInputAction का उपयोग करें जहाँ उपयोगकर्ता को ऐप खोले बिना टेक्स्ट दर्ज करना है: मैसेजिंग उत्तर, टिप्पणियाँ, त्वरित नोट्स। टेक्स्ट क्रियाएँ जुड़ाव बढ़ाती हैं — उपयोगकर्ता ऐप में 5+ के बजाय 2 टैप में एक सार्थक क्रिया करता है।

खतरनाक क्रियाओं (हटाना, ब्लॉक करना) के लिए destructive विकल्प का उपयोग करें। iOS इन बटनों को लाल रंग में हाइलाइट करेगा, उपयोगकर्ता को क्रिया की अपरिवर्तनीयता के बारे में चेतावनी देगा। उन क्रियाओं के लिए जिनमें डिवाइस अनलॉक करना आवश्यक है (व्यक्तिगत डेटा देखना), authenticationRequired निर्दिष्ट करें।

विभिन्न उपकरणों पर श्रेणियों का परीक्षण करें: 3D Touch वाले iPhone पर, 3D Touch के बिना iPhone (लॉन्ग-प्रेस) पर, iPad पर और Mac पर। Apple प्लेटफ़ॉर्म पर श्रेणियों का व्यवहार थोड़ा भिन्न हो सकता है। CarPlay पर विशेष ध्यान दें: श्रेणी बटन कार स्क्रीन पर दिखाई देते हैं और ड्राइवर सुरक्षा के लिए न्यूनतम टेक्स्ट के साथ डिज़ाइन किए जाने चाहिए।

अक्सर पूछे जाने वाले प्रश्न

iOS में कितनी श्रेणियाँ रजिस्टर की जा सकती हैं?

कोई सीमा नहीं है — iOS UNNotificationCategory की संख्या पर कोई सीमा नहीं लगाता है। हालाँकि, व्यवहार में, डेलिगेट हैंडलिंग को जटिल न करने के लिए 10–15 से अधिक श्रेणियों का उपयोग न करने की अनुशंसा की जाती है। प्रत्येक श्रेणी में अधिकतम 4 क्रियाएँ (बटन) हो सकती हैं। 4 से अधिक क्रियाओं को सिस्टम द्वारा अनदेखा कर दिया जाता है।

श्रेणी बटन के टैप को कैसे संभालें?

UNUserNotificationCenterDelegate प्रोटोकॉल और didReceive विधि लागू करें। response.actionIdentifier जाँचें: UNNotificationDismissActionIdentifier — खारिज करने के लिए स्वाइप, UNNotificationDefaultActionIdentifier — बॉडी पर टैप, या आपका कस्टम बटन पहचानकर्ता। टेक्स्ट इनपुट बटन के लिए, टेक्स्ट response.userText के माध्यम से उपलब्ध है।

category, thread-id से कैसे भिन्न है?

Category — नोटिफिकेशन के लिए इंटरैक्टिव क्रियाएँ (बटन) परिभाषित करती है। Thread-id — नोटिफिकेशन सेंटर में नोटिफिकेशन को विषय के अनुसार समूहित करता है। दोनों कुंजियाँ APNS पेलोड में निर्दिष्ट की जाती हैं। Category और thread-id संबंधित नहीं हैं: एक नोटिफिकेशन में श्रेणी हो सकती है लेकिन thread-id नहीं, और इसके विपरीत।

क्या श्रेणियाँ macOS पर काम करती हैं?

हाँ, UNNotificationCategory macOS 10.14+ (Mojave) पर UserNotifications फ्रेमवर्क का उपयोग करने वाले ऐप्स में समर्थित है। macOS पर श्रेणियों का व्यवहार iOS के समान है: नोटिफिकेशन पर क्लिक करने पर बटन दिखाए जाते हैं, और हैंडलिंग UNUserNotificationCenterDelegate के माध्यम से होती है।

क्या मुझे प्रत्येक लॉन्च पर श्रेणियाँ अपडेट करनी चाहिए?

अनुशंसित है कि setNotificationCategories के माध्यम से प्रत्येक ऐप लॉन्च पर श्रेणियाँ रजिस्टर करें। सिस्टम पुराने श्रेणी सेट को प्रत्येक कॉल पर नए से बदल देता है। यदि आप अपडेट नहीं करते हैं, तो श्रेणियाँ लॉन्च के बीच बनी रहती हैं, लेकिन जब कोड बदलता है, तो पुरानी श्रेणियाँ अप्रत्याशित व्यवहार का कारण बन सकती हैं।

सारांश

  • Notification Category — पुश नोटिफिकेशन में इंटरैक्टिव क्रियाएँ जोड़ने का iOS तंत्र
  • UNNotificationCategory — एक क्लास जो पहचानकर्ता, UNNotificationAction की सरणी और विकल्पों को जोड़ती है
  • UNTextInputAction — ऐप खोले बिना त्वरित उत्तर के लिए टेक्स्ट इनपुट फ़ील्ड वाली क्रिया
  • APNS पेलोड — aps डिक्शनरी में category की नोटिफिकेशन को रजिस्टर श्रेणी से जोड़ती है
  • अधिकतम 4 क्रियाएँ — प्रति श्रेणी अधिकतम बटन, बाकी सिस्टम द्वारा अनदेखा किए जाते हैं
  • क्रिया विकल्प — foreground (ऐप खोलें), destructive (लाल बटन), authenticationRequired
  • Android से अंतर — iOS Category क्रियाएँ संभालती है, Android Channel महत्व और ध्वनि संभालता है

हम एक मोबाइल एप्लिकेशन टर्नकी विकसित करेंगे

IT Sectr 2017 से स्टार्टअप और व्यवसायों के लिए iOS और Android एप्लिकेशन बनाता है। हम आपको सलाह देंगे और सर्वोत्तम समाधान प्रस्तावित करेंगे।

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

यह भी पढ़ें