Today Widget: यह क्या है, प्रकार और नोटिफिकेशन विजेट बनाना

लेखक: IT Sectr प्रकाशित: 2026-06-15 पढ़ने का समय: 10 मिनट

Today Widget एक iOS एक्सटेंशन है जो नोटिफिकेशन सेंटर या “Today” स्क्रीन पर इंटरैक्टिव जानकारी प्रदर्शित करता है। उपयोगकर्ता मुख्य ऐप खोले बिना नवीनतम डेटा — मौसम, विनिमय दर, कैलेंडर — देखता है। Apple WWDC (2025) के अनुसार, iOS 17 में इंटरैक्टिव विजेट शुरू होने के बाद WidgetKit के उपयोग में 40% की वृद्धि हुई। Today Widget जानकारी तक त्वरित पहुँच की समस्या को हल करता है: स्क्रीन पर एक नज़र — और उपयोगकर्ता बिना ऐप में नेविगेट किए आवश्यक डेटा प्राप्त करता है।

मुख्य बिंदु

  • Today Widget — नोटिफिकेशन सेंटर में जानकारी दिखाने के लिए iOS एक्सटेंशन।
  • WidgetKit — विजेट बनाने के लिए आधुनिक फ्रेमवर्क (iOS 14+).
  • NCWidgetProviding — नोटिफिकेशन सेंटर एक्सटेंशन के लिए प्रोटोकॉल (iOS 8–13).
  • Auto Layout — विभिन्न स्क्रीन आकारों के लिए विजेट का अनुकूलन।
  • Timeline Provider — WidgetKit में डेटा अपडेट तंत्र।

Today Widget क्या है

Today Widget (जिसे नोटिफिकेशन सेंटर विजेट के रूप में भी जाना जाता है) एक iOS इंटरफ़ेस तत्व है जो ऐप लॉन्च किए बिना उसकी संक्षिप्त जानकारी प्रदर्शित करता है। उपयोगकर्ता लॉक स्क्रीन या होम स्क्रीन पर बाईं ओर स्वाइप करके विजेट देखता है। विजेट डायनामिक डेटा — विनिमय दर, नवीनतम समाचार, कार्य स्थिति, डिवाइस की स्थिति — दिखा सकता है।

ऐतिहासिक रूप से, Today Widget iOS 8 में नोटिफिकेशन सेंटर फ्रेमवर्क के माध्यम से कार्यान्वित नोटिफिकेशन सेंटर एक्सटेंशन के रूप में दिखाई दिया। iOS 14 के साथ, Apple ने WidgetKit पेश किया — एक पूरी तरह से पुनः डिज़ाइन की गई आर्किटेक्चर जो विजेट को सीधे होम स्क्रीन पर रखने की अनुमति देती है। आधुनिक अर्थों में Today Widget एक WidgetKit विजेट है जो “Today” सेक्शन (पहली स्क्रीन के बाईं ओर विजेट सेक्शन) में रखा जाता है।

Today Widget की आवश्यकता क्यों

मुख्य लक्ष्य जानकारी तक पहुँचने का समय कम करना है। ऐप खोलने, मेनू में नेविगेट करने और लोडिंग की प्रतीक्षा करने के बजाय, उपयोगकर्ता तुरंत आवश्यक डेटा देखता है। Apple (2024) के अनुसार, विजेट वाले ऐप 27% अधिक उपयोगकर्ता जुड़ाव दिखाते हैं। अतिरिक्त उपयोग के मामले: त्वरित कार्रवाई (कार्य को पूर्ण के रूप में चिह्नित करना), निगरानी (हृदय गति, गतिविधि) और स्थिति (बैटरी चार्ज, सूचनाएं)।

WidgetKit बनाम NCWidgetProviding

Today Widget डेवलपर के पास दो दृष्टिकोण उपलब्ध हैं: आधुनिक WidgetKit (iOS 14+) और लीगेसी NCWidgetProviding एक्सटेंशन (iOS 8–13)। चयन न्यूनतम समर्थित iOS संस्करण पर निर्भर करता है। WidgetKit नए प्रोजेक्ट के लिए अनुशंसित है, NCWidgetProviding पुराने उपकरणों के समर्थन के लिए।

विशेषताWidgetKitNCWidgetProviding
न्यूनतम iOSiOS 14iOS 8
स्थानहोम स्क्रीन + “Today”केवल “Today”
आकारछोटा, मध्यम, बड़ाएक निश्चित आकार
इंटरैक्टिविटीiOS 17+ बटन और टॉगलकेवल ऐप खोलना
अपडेटTimeline ProviderwidgetPerformUpdate
भाषाSwiftUIUIKit

WidgetKit का उपयोग कब करें

यदि आपका ऐप iOS 14 और नए को सपोर्ट करता है — WidgetKit का उपयोग करें। यह समृद्ध क्षमताएं प्रदान करता है: कई आकार, intents के माध्यम से कॉन्फ़िगरेशन, iOS 17 के साथ रीडिज़ाइन और डीप लिंक। SwiftUI की घोषणात्मकता विजेट कोड को कॉम्पैक्ट और पढ़ने योग्य बनाती है। Timeline Provider बिजली खपत को ध्यान में रखते हुए स्वचालित रूप से अपडेट शेड्यूल का प्रबंधन करता है।

NCWidgetProviding का उपयोग कब करें

केवल यदि iOS 9–13 समर्थन आवश्यक हो। NCWidgetProviding लागू करना सरल है — यह एक प्रोटोकॉल के साथ एक सामान्य UIViewController है। हालांकि, यह सीमित है: एक एकल आकार, केवल UIKit, कोई कॉन्फ़िगरेशन नहीं। Apple पुराने प्रोजेक्ट के लिए भी availability check का उपयोग करके WidgetKit पर स्विच करने की अनुशंसा करता है: iOS 14+ पर WidgetKit, फ़ॉलबैक के रूप में NCWidgetProviding।

Today Widgets के प्रकार

आधुनिक iOS में, कार्यात्मक उद्देश्य के अनुसार तीन प्रकार के विजेट हैं। प्रत्येक प्रकार अपनी समस्या को हल करता है और डेटा और इंटरफ़ेस डिज़ाइन के लिए एक अलग दृष्टिकोण की आवश्यकता होती है। वर्गीकरण आपके ऐप के लिए सही आर्किटेक्चर चुनने में मदद करता है।

सूचनात्मक विजेट

स्थिर या समय-समय पर अपडेट की जाने वाली जानकारी प्रदर्शित करते हैं: मौसम, तारीख, विनिमय दर, सर्वर स्थिति। Timeline Provider के माध्यम से शेड्यूल पर डेटा अपडेट किया जाता है। उपयोगकर्ता विजेट के साथ इंटरैक्ट नहीं करता — केवल पढ़ता है। सूचनात्मक विजेट लागू करने में सबसे सरल हैं, टच इवेंट हैंडलिंग की आवश्यकता नहीं है और अतिरिक्त अनुमतियों के बिना बैकग्राउंड में काम करते हैं।

इंटरैक्टिव विजेट

iOS 17 के साथ, WidgetKit विजेट में बटन, टॉगल और स्लाइडर को सपोर्ट करता है। उपयोगकर्ता ऐप खोले बिना कार्रवाई कर सकता है — कार्य चिह्नित करना, संगीत रोकना, लाइट चालू करना। इंटरैक्टिव विजेट मुख्य ऐप में कार्रवाई पहुँचाने के लिए App Intents का उपयोग करते हैं। सीमा: केवल होम स्क्रीन पर, iOS 18 तक “Today” सेक्शन में नहीं।

कॉन्फ़िगरेबल विजेट

उपयोगकर्ता सिस्टम इंटरफ़ेस के माध्यम से प्रदर्शित डेटा को अनुकूलित करता है — मौसम के लिए शहर, वित्त के लिए खाता, समाचार के लिए श्रेणी चुनता है। Intents Extension और WidgetBundle में कॉन्फ़िगरेशन के माध्यम से कार्यान्वित किया जाता है। कॉन्फ़िगरेबल विजेट प्रत्येक उपयोगकर्ता के लिए वैयक्तिकरण और जानकारी की प्रासंगिकता बढ़ाते हैं।

WidgetKit विजेट बनाना

आइए WidgetKit का उपयोग करके SwiftUI में Today Widget बनाने की प्रक्रिया देखें। विजेट स्वचालित अपडेट के साथ वर्तमान विनिमय दर प्रदर्शित करेगा। WidgetKit को तीन घटकों की आवश्यकता है: विजेट संरचना, कॉन्फ़िगरेशन के साथ Provider, और प्रदर्शन के लिए View।

swift
import WidgetKit
import SwiftUI

@main
struct CurrencyWidget: Widget {
    let kind: String = "CurrencyWidget"

    var body: some WidgetConfiguration {
        StaticConfiguration(kind: kind, provider: Provider()) { entry in
            CurrencyWidgetEntryView(entry: entry)
        }
        .configurationDisplayName("Currency Rate")
        .description("Current USD/RUB exchange rate")
        .supportedFamilies([.systemSmall, .systemMedium])
    }
}

Provider प्रदर्शन के लिए डेटा तैयार करने के लिए जिम्मेदार है। getTimeline विधि एक अपडेट शेड्यूल बनाती है: 15 मिनट में अगला अपडेट। TimelineProvider सुनिश्चित करता है कि विजेट सर्वर से लगातार पूछताछ किए बिना नवीनतम डेटा दिखाता है।

swift
struct Provider: TimelineProvider {
    func getSnapshot(in context: Context,
                      completion: @escaping (CurrencyEntry) -> Void) {
        let entry = CurrencyEntry(date: Date(), rate: 92.5)
        completion(entry)
    }

    func getTimeline(in context: Context,
                     completion: @escaping (Timeline<CurrencyEntry>) -> Void) {
        let rate = CurrencyService().fetchRate()
        let entry = CurrencyEntry(date: Date(), rate: rate)
        let nextUpdate = Calendar.current.date(
            byAdding: .minute, value: 15, to: Date()
        ) ?? Date()
        let timeline = Timeline(entries: [entry], policy: .after(nextUpdate))
        completion(timeline)
    }
}

Timeline Provider और डेटा अपडेट

Timeline Provider Today Widget डेटा प्रबंधित करने के लिए केंद्रीय WidgetKit तंत्र है। टाइमर द्वारा आवधिक अपडेट (पुराने NCWidgetProviding की तरह) के बजाय, WidgetKit timeline की अवधारणा का उपयोग करता है — टाइमस्टैम्प के साथ प्रविष्टियों का अनुक्रम। सिस्टम वर्तमान प्रविष्टि को तब तक प्रदर्शित करता है जब तक वह समाप्त नहीं हो जाती, फिर अगली पर स्विच करता है या नई प्रविष्टि का अनुरोध करता है।

अपडेट नीतियां

Timeline तीन नीतियों का समर्थन करता है: .after(date) — निर्दिष्ट तिथि पर अगला अपडेट; .never — WidgetCenter.reloadAllTimelines के स्पष्ट कॉल तक विजेट अपडेट नहीं होता; .atEnd — अंतिम प्रविष्टि प्रदर्शित करने के बाद अपडेट। विनिमय दर वाले Today Widget के लिए, 15–30 मिनट के अंतराल के साथ .after नीति इष्टतम है। ऊर्जा दक्षता WidgetKit का एक प्रमुख लाभ है: सिस्टम सभी विजेट के अपडेट को एक विंडो में समूहित करता है।

WidgetCenter: प्रोग्रामेटिक अपडेट

यदि timeline समाप्त होने से पहले डेटा बदल गया (उदाहरण के लिए, उपयोगकर्ता ने ऐप में दर अपडेट की), तो WidgetCenter.shared.reloadTimelines(ofKind: “CurrencyWidget”) कॉल करें। यह Provider से नया timeline अनुरोध करेगा और प्रदर्शन अपडेट करेगा। WidgetCenter एक कमांड से सभी ऐप विजेट को रीलोड करने की भी अनुमति देता है — डेटा सिंक्रनाइज़ेशन के बाद सुविधाजनक।

विजेट डिज़ाइन दिशानिर्देश

Apple Today Widget डिज़ाइन पर सख्त आवश्यकताएं लगाता है: सामग्री एक नज़र में पढ़ने योग्य होनी चाहिए, बिना अनावश्यक तत्वों के और स्पष्ट पदानुक्रम के साथ। HIG (Human Interface Guidelines) अनुशंसाओं का उल्लंघन App Store पर प्रकाशित करते समय अस्वीकृति का कारण है। तीन सिद्धांत: त्वरित दृश्यता, स्थिरता और पदानुक्रम।

त्वरित दृश्यता — एक नज़र में पढ़ने योग्य

उपयोगकर्ता विजेट पर एक सेकंड से भी कम समय बिताता है। 3–4 से अधिक डेटा तत्व न जोड़ें। फ़ॉन्ट — लेबल के लिए न्यूनतम 11pt, मानों के लिए 17pt। मुख्य संख्याओं के लिए बोल्ड (Semibold) का उपयोग करें। स्क्रॉलिंग से बचें — Today Widget स्क्रॉल नहीं होता।

आकार के अनुसार अनुकूलन

WidgetKit तीन आकारों का समर्थन करता है: छोटा (170×170pt), मध्यम (364×170pt), बड़ा (364×382pt)। “Today” सेक्शन में Today Widget के लिए, मध्यम सबसे सामान्य विकल्प है। EnvironmentValues के माध्यम से अनुकूली डिज़ाइन: आकार के अनुसार सूचना घनत्व बदलें। छोटा — एक संख्या, मध्यम — संख्या + चार्ट, बड़ा — तालिका।

डार्क मोड और Dynamic Type समर्थन

विजेट को डेवलपर की अतिरिक्त कार्रवाई के बिना हल्के और गहरे थीम में सही ढंग से प्रदर्शित होना चाहिए — WidgetKit स्वचालित रूप से सिस्टम रंगों को पकड़ता है। विजेट के लिए Dynamic Type सीमित है: फ़ॉन्ट आकार निश्चित है, लेकिन पढ़ने योग्य होना चाहिए। UIColor.label और UIColor.systemBackground दोनों थीम में टेक्स्ट और बैकग्राउंड के लिए आधार रंग हैं।

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

Today Widget होम स्क्रीन पर सामान्य विजेट से कैसे अलग है?

आज यह एक ही WidgetKit विजेट है। अंतर केवल स्थान में है: होम स्क्रीन पर और “Today” सेक्शन में (पहली स्क्रीन के बाईं ओर)। iOS 14 से पहले, Today Widget एक अलग NCWidgetProviding एक्सटेंशन था जो केवल नोटिफिकेशन सेंटर में काम करता था। अब यह एक एकल WidgetKit है।

Today Widget कितनी बार अपडेट होता है?

WidgetKit टाइमर द्वारा विजेट अपडेट नहीं करता। डेवलपर Timeline Provider के माध्यम से शेड्यूल सेट करता है: टाइमस्टैम्प वाली प्रविष्टियां। सिस्टम बिजली बचत को ध्यान में रखते हुए निर्दिष्ट समय पर अपडेट की गारंटी देता है — कुछ मिनट विलंब हो सकता है। न्यूनतम अंतराल 15 मिनट है, लेकिन Apple प्रति घंटे एक बार से अधिक नहीं करने की अनुशंसा करता है।

क्या मैं इंटरैक्टिव बटन के साथ Today Widget बना सकता हूं?

हां, iOS 17 से शुरू होकर, WidgetKit App Intents के माध्यम से बटन, टॉगल और स्लाइडर का समर्थन करता है। इंटरैक्टिव तत्व iPhone और iPad होम स्क्रीन पर काम करते हैं। “Today” सेक्शन में समर्थन iOS 18 में दिखाई दिया। iOS 16 और पुराने के लिए — विजेट पर टैप करने पर केवल ऐप खुलता है।

एक ऐप में कितने Today Widgets हो सकते हैं?

कोई सीमा नहीं है। एक ऐप WidgetBundle के माध्यम से किसी भी संख्या में विजेट पंजीकृत कर सकता है — प्रत्येक अपने प्रकार, आकार और कॉन्फ़िगरेशन के साथ। उपयोगकर्ता उन्हें अलग-अलग जोड़ता है। अनुशंसित 3–5 से अधिक विजेट न हों ताकि उपयोगकर्ता की पसंद पर बोझ न पड़े।

सिम्युलेटर पर Today Widget का परीक्षण कैसे करें?

WidgetKit iOS Simulator में पूरी तरह से समर्थित है। Xcode में WidgetKit target स्कीम चलाएं — विजेट सिम्युलेटर की होम स्क्रीन पर दिखाई देगा। Timeline Provider के परीक्षण के लिए, WidgetKit Debug Profile का उपयोग करें: Xcode → Product → Profile → WidgetKit Debug। भौतिक डिवाइस पर वास्तविक व्यवहार जांचें।

सारांश

  • Today Widget — ऐप खोले बिना जानकारी दिखाने के लिए iOS एक्सटेंशन।
  • WidgetKit (iOS 14+) — आधुनिक फ्रेमवर्क, NCWidgetProviding — पुराने संस्करणों के लिए लीगेसी।
  • तीन प्रकार के विजेट: सूचनात्मक, इंटरैक्टिव (iOS 17+), Intents के माध्यम से कॉन्फ़िगरेबल।
  • Timeline Provider टाइमर के बजाय अपडेट शेड्यूल का प्रबंधन करता है।
  • डिज़ाइन त्वरित दृश्यता वाला होना चाहिए: न्यूनतम तत्व, बड़ा फ़ॉन्ट, आकार अनुकूलन।
  • App Intents के माध्यम से इंटरैक्टिविटी — ऐप खोले बिना बटन और टॉगल।
  • WidgetCenter.shared.reloadTimelines — डेटा बदलने पर प्रोग्रामेटिक अपडेट।

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

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

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

यह भी पढ़ें