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 استعمال کریں۔ یہ بھرپور صلاحیتیں فراہم کرتا ہے: متعدد سائز، انٹینٹس کے ذریعے ترتیب، 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 (ہیومن انٹرفیس گائیڈ لائنز) کی سفارشات کی خلاف ورزی 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 ٹارگٹ سکیم چلائیں — ویجیٹ سیمیولیٹر کی ہوم اسکرین پر ظاہر ہوگا۔ 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 ایپلیکیشنز بناتا ہے۔ ہم آپ کو مشورہ دیں گے اور بہترین حل تجویز کریں گے۔

پروجیکٹ پر بحث کریں

مزید پڑھیں