Silent Push — جوہر، پس منظر کے کام اور ترسیل کی کنفیگریشن

مصنف: IT Sectr اشاعت: 2026-03-20 مطالعے کا وقت: 9 منٹ

Silent Push ایک قسم کا iOS push اطلاع ہے جو صارف کو کسی بھی نمائش اور آواز کے بغیر ڈیوائس پر پہنچایا جاتا ہے۔ خاموش اطلاع کا بنیادی مقصد پس منظر میں ڈیٹا کی مطابقت پذیری، مواد کی تازہ کاری اور مختصر کاموں کو انجام دینا ہے جن میں صارف کی توجہ کی ضرورت نہیں ہوتی۔ Apple Developer Documentation, 2026 کے مطابق، Silent Push آنے والے ڈیٹا کی پروسیسنگ کے لیے ایپ کو 30 سیکنڈ کے لیے پس منظر میں فعال کرتا ہے، جس کے بعد سسٹم بیٹری بچانے کے لیے ڈیوائس کو نیند کے موڈ میں واپس کر دیتا ہے۔

اہم نکات

  • پس منظر میں فعالیت — Silent Push صارف کی مداخلت کے بغیر ڈیٹا پراسیس کرنے کے لیے ایپ کو 30 سیکنڈ کے لیے پس منظر میں جگاتا ہے۔
  • content-available کلید — APNS پے لوڈ میں لازمی جھنڈا جس کی قیمت 1 ہے، جو خاموش اطلاع کو عام اطلاع سے ممتاز کرتی ہے۔
  • بیٹری کی بچت — سسٹم silent push کی ترسیل کو بہتر بناتا ہے: جب بیٹری کم ہو یا پاور سیونگ موڈ میں ہو تو ترسیل میں تاخیر یا منسوخی ہو سکتی ہے۔
  • تعدد کی حدود — iOS ہر silent push کی ترسیل کی ضمانت نہیں دیتا، خاص طور پر جب زیادہ تعدد پر بھیجا جائے یا جب ایپ پس منظر میں ہو۔
  • یوزر انٹرفیس نہیں — خاموش اطلاع نوٹیفکیشن سینٹر میں ظاہر نہیں ہوتی، آواز نہیں چلاتی اور ایپ آئیکن پر بیج نہیں بڑھاتی۔

Silent Push کیا ہے — جوہر اور مقصد

Silent Push ایک iOS طریقہ کار ہے جو صارف کو کسی بصری اطلاع کے بغیر ڈیوائس پر ڈیٹا پہنچاتا ہے۔ معیاری push کے برعکس جو ایک بینر دکھاتا ہے، آواز چلاتا ہے اور نوٹیفکیشن سینٹر میں ظاہر ہوتا ہے، silent push ایپ کو پس منظر میں جگاتا ہے اور پروسیسنگ کے لیے ڈیٹا دیتا ہے۔ صارف کو کبھی اس طرح کی اطلاع کی ترسیل کا پتہ نہیں چلتا — نتیجہ اگلی بار جب وہ ایپ کھولتے ہیں تو تازہ کاری شدہ مواد ہوتا ہے۔

عام push اطلاعوں سے فرق

بنیادی فرق JSON پے لوڈ میں ہے: silent push میں content-available: 1 جھنڈا ہوتا ہے اور alert، sound یا badge نہیں ہوتا۔ معیاری اطلاع alert کے ساتھ ہمیشہ صارف کو دکھائی جاتی ہے، content-available سے قطع نظر۔ Silent push صرف content-available: 1 اور بغیر alert کے کام کرتا ہے — اگر آپ alert شامل کرتے ہیں تو سسٹم پس منظر کی ترسیل کے جھنڈے کے باوجود اطلاع دکھائے گا۔

Silent Push کب استعمال کریں

خاموش اطلاعیں ان منظرناموں کے لیے ناگزیر ہیں جہاں صارف کے ایپ کھولنے تک ڈیٹا تازہ ہونا چاہیے، لیکن صارف کو پریشان نہیں کرنا چاہیے۔ مثالیں: پس منظر میں نیوز فیڈ کو اپ ڈیٹ کرنا، سبسکرپشنز کو مطابقت پذیر بنانا، آف لائن رسائی کے لیے نیا مواد ڈاؤن لوڈ کرنا، ویجٹ کو اپ ڈیٹ کرنا، کیشے کو باطل کرنا۔ Silent Push صارف کی متوقع کارروائی سے پہلے ایپ کو گرم کرنے کے لیے بھی استعمال ہوتا ہے۔

خاموش اطلاعوں کی ترسیل کیسے کام کرتی ہے

Silent Push کی ترسیل عام اطلاعوں سے نمایاں طور پر مختلف ہوتی ہے اور توانائی کی بہتر بنانے کے قوانین پر عمل کرتی ہے۔ iOS نظام APNS سے push کی درخواست وصول کرتا ہے، تعین کرتا ہے کہ یہ silent push ہے (content-available: 1)، اور متعدد عوامل کی بنیاد پر ترسیل کا فیصلہ کرتا ہے: بیٹری کی سطح، پاور سیونگ موڈ، پچھلے silent pushes کی تعدد، ایپ کی سرگرمی اور موجودہ CPU لوڈ۔

Power Nap اور پس منظر کے موڈ کا کردار

Apple M چپ اور iOS 15+ والے ڈیوائسز پر، silent push Power Nap میکانزم کے ساتھ ضم ہوتا ہے، جو پس منظر کے کاموں کے لیے وقتاً فوقتاً ڈیوائس کو جگاتا ہے۔ Power Nap متعدد silent pushes کو ایک سرگرمی کی مدت میں یکجا کرتا ہے، جس سے مجموعی طور پر بجلی کی کھپت کم ہوتی ہے۔ ڈیولپر Power Nap کو براہ راست کنٹرول نہیں کر سکتا — سسٹم صارف کے رویے اور ایپ کے استعمال کی تاریخ کی بنیاد پر خود بخود فیصلے کرتا ہے۔

30 سیکنڈ کی پروسیسنگ ونڈو

جب سسٹم silent push پہنچاتا ہے، ایپ AppDelegate میں application(_:didReceiveRemoteNotification:fetchCompletionHandler:) کال وصول کرتی ہے۔ ڈیولپر کو 30 سیکنڈ کے اندر completion handler کو کال کرنا چاہیے، صحیح نتیجہ (UIBackgroundFetchResult) پاس کرتے ہوئے۔ اگر پروسیسنگ وقت پر مکمل نہیں ہوتی ہے، سسٹم اس ایپ کے لیے silent pushes کی تعدد کو محدود کر سکتا ہے یا ان کی ترسیل مکمل طور پر بند کر سکتا ہے۔

swift
// AppDelegate میں Silent Push کی پروسیسنگ
func application(
    _ application: UIApplication,
    didReceiveRemoteNotification userInfo: [AnyHashable: Any],
    fetchCompletionHandler completionHandler:
    @escaping (UIBackgroundFetchResult) -> Void
) {
    guard let type = userInfo["sync-type"] as? String
    else {
        completionHandler(.failed)
        return
    }

    if type == "news-feed" {
        NewsFeedSyncService().sync { success in
            completionHandler(success ? .newData : .failed)
        }
    } else if type == "cache-invalidate" {
        CacheManager.shared.invalidateAll()
        completionHandler(.newData)
    } else {
        completionHandler(.noData)
    }
}

ترسیلوں کے درمیان وقفے

Apple silent pushes کے درمیان صحیح وقفے شائع نہیں کرتا، لیکن ٹیسٹ اور دستاویزات کی بنیاد پر، فی ڈیوائس فی گھنٹہ 2–3 خاموش اطلاعوں سے زیادہ نہ بھیجنے کی سفارش کی جاتی ہے۔ زیادہ کثرت سے بھیجنے پر، سسٹم silent pushes کو نظر انداز کرنا شروع کر دیتا ہے اور ڈیٹا کی ترسیل رک جاتی ہے۔ اگر زیادہ بار بار مطابقت پذیری کی ضرورت ہو تو، پس منظر کی ترتیب یا VoIP push کے ساتھ URLSession استعمال کرنے پر غور کریں۔

Silent Push کے استعمال کے معاملات

Silent Push کاموں کی ایک وسیع رینج میں استعمال ہوتا ہے جہاں صارف کی فعال شرکت کے بغیر ڈیٹا کو اپ ٹو ڈیٹ رہنے کی ضرورت ہوتی ہے۔ آئیے حقیقی iOS ایپلیکیشنز میں اس طریقہ کار کے سب سے مؤثر استعمال کے معاملات کو دیکھتے ہیں۔

آف لائن رسائی کے لیے مواد کی تازہ کاری

خبروں کی ایپس، ریڈرز اور سفری ایپلیکیشنز پس منظر میں نیا مواد ڈاؤن لوڈ کرنے کے لیے Silent Push استعمال کرتی ہیں۔ جب صارف ایپ کھولتا ہے، ڈیٹا پہلے سے لوڈ ہوتا ہے اور انٹرنیٹ کنکشن کے بغیر بھی دستیاب ہوتا ہے۔ یہ نقطہ نظر صارف کے تجربے کو ڈرامائی طور پر بہتر بناتا ہے — خالی لوڈنگ اسکرینز غائب ہو جاتی ہیں اور مواد فوری طور پر ظاہر ہوتا ہے۔ جب نئے مضامین آتے ہیں تو سرور silent push بھیجتا ہے اور ایپ انہیں آف لائن پڑھنے کے لیے پس منظر میں ڈاؤن لوڈ کرتی ہے۔

ویجٹ کی حالت کی مطابقت پذیری

iOS WidgetKit ویجٹ کو ایک شیڈول کے مطابق اپ ڈیٹ کرتا ہے، لیکن سرور کی طرف ڈیٹا تبدیل ہونے کے بعد فوری اپ ڈیٹ کے لیے Silent Push استعمال ہوتا ہے۔ پس منظر میں ایپ silent push پر کارروائی کرتی ہے، ویجٹ کے لیے مقامی ڈیٹا سٹور کو اپ ڈیٹ کرتی ہے اور WidgetCenter کے ذریعے ٹائم لائن کو زبردستی تازہ کرتی ہے۔ صارف ایپ کھولے بغیر ویجٹ پر تازہ ترین معلومات دیکھتا ہے — شرح مبادلہ، موسم کی پیشن گوئی، ترسیل کی حالت۔

کیشے کو باطل کرنا اور پرانے ڈیٹا کی صفائی

جب سرور اہم ڈیٹا کو اپ ڈیٹ کرتا ہے (مثلاً قیمت کے قواعد، پریمیم صارفین کے لیے دستیاب خصوصیات)، Silent Push فوری طور پر مقامی کیشے کو باطل کرنے کی اجازت دیتا ہے۔ اگلی بار کھولنے پر، ایپ پرانے کیشے کو استعمال کرنے کے بجائے سرور سے تازہ ڈیٹا لوڈ کرے گی۔ یہ خاص طور پر ایسی ایپس کے لیے متعلقہ ہے جن میں ادائیگی شدہ مواد یا سبسکرپشنز ہوں۔

مرئی اطلاع کے بغیر بیج اپ ڈیٹ

کچھ منظرناموں میں، ایپ آئیکن پر بیج کو اطلاع دکھائے بغیر اپ ڈیٹ کرنے کی ضرورت ہوتی ہے۔ پے لوڈ میں بیج فیلڈ کے ساتھ Silent Push صارف کو بینر سے پریشان کیے بغیر مطلوبہ کاؤنٹر ویلیو سیٹ کرنے کی اجازت دیتا ہے۔ مثال کے طور پر، ایک چیٹ ایپ صارف کو ہر نئے پیغام کو اطلاع کے طور پر دکھائے بغیر، اگر صارف پہلے سے ایپ میں ہے تو غیر پڑھے گئے پیغامات کی تعداد کے ساتھ بیج کو اپ ڈیٹ کر سکتی ہے۔

Silent Push کنفیگریشن: پے لوڈ اور صلاحیتیں

Silent Push کے صحیح آپریشن کے لیے تین سطحوں پر کنفیگریشن کی ضرورت ہوتی ہے: Xcode پروجیکٹ، سرور پر JSON پے لوڈ اور ایپ میں پروسیسنگ کوڈ۔ ہر سطح اہم ہے: کسی بھی مرحلے کو چھوڑنے کے نتیجے میں اطلاع عام کے طور پر پہنچائی جائے گی یا بالکل نہیں پہنچائی جائے گی۔

Xcode میں صلاحیتوں کو ترتیب دینا

Xcode میں، آپ کو Push Notifications کی صلاحیت اور Remote notifications کے چیک باکس کے ساتھ Background Modes کو فعال کرنے کی ضرورت ہے۔ Push Notifications APNS کے لیے ایک سرٹیفکیٹ تیار کرتا ہے، جبکہ Background Modes میں Remote notifications سسٹم کو silent push موصول ہونے پر ایپ جگانے کی اجازت دیتا ہے۔ Remote notifications کے بغیر، silent push پہنچایا جائے گا لیکن ایپ پس منظر میں فعال نہیں ہوگی اور ڈیٹا پر کارروائی نہیں ہوگی۔

JSON پے لوڈ کی ساخت

Silent Push پے لوڈ میں content-available: 1 کے ساتھ aps کلید ہونی چاہیے اور alert، sound یا badge نہیں ہونا چاہیے۔ اپنی مرضی کے فیلڈز aps کی اسی سطح پر پاس کیے جاتے ہیں اور ان میں پروسیسنگ کے لیے ڈیٹا ہوتا ہے: آپریشن کی قسم، آبجیکٹ کی شناخت، میٹا ڈیٹا۔ content-available کے بغیر پے لوڈ کو عام اطلاع سمجھا جائے گا؛ alert کے ساتھ، content-available ہونے کے باوجود یہ عام ہوگی۔

json
{
    "aps": {
        "content-available": 1
    },
    "sync-type": "news-feed",
    "last-article-id": "article_8521",
    "priority": "high"
}

کلائنٹ سائیڈ پروسیسنگ

silent push موصول ہونے پر، iOS ایپ کے دکھائی دینے سے پہلے application(_:didReceiveRemoteNotification:fetchCompletionHandler:) کال کرتا ہے۔ اس طریقہ میں، آپ کو userInfo کا تجزیہ کرنا، ضروری کام کرنا (نیٹ ورک کی درخواستیں، Core Data میں تحریریں، کیشے اپ ڈیٹ) اور 30 سیکنڈ کے اندر صحیح نتیجہ کے ساتھ completionHandler کال کرنا چاہیے۔ completionHandler کو نہ کال کرنا سسٹم کی طرف سے غلطی سمجھا جاتا ہے اور مستقبل کے silent pushes کی تعدد کو متاثر کرتا ہے۔

حدود اور بہترین طریقے

Silent Push اہم کارروائیوں کے لیے ڈیٹا کی ترسیل کا قابل اعتماد ذریعہ نہیں ہے — یہ ایک بہتر بنانے کا طریقہ کار ہے، ضمانت شدہ مطابقت پذیری نہیں۔ ڈیولپر کو حدود کو سمجھنا چاہیے اور سسٹم کو اس طرح ڈیزائن کرنا چاہیے کہ ایپ silent push کے ساتھ اور بغیر دونوں طرح صحیح کام کرے۔

ترسیل کی حدود

iOS ہر silent push کی ترسیل کی ضمانت نہیں دیتا۔ سسٹم ترسیل میں تاخیر یا منسوخی کر سکتا ہے جب بیٹری کم ہو (20% سے نیچے)، لو پاور موڈ میں، بار بار silent pushes کے بعد یا اگر ایپ طویل عرصے سے استعمال نہیں ہوئی ہو۔ Apple کے مطابق اوسط ترسیل کے اعدادوشمار: تقریباً 70–80% silent pushes 5 منٹ کے اندر پہنچ جاتے ہیں، باقی میں تاخیر ہو سکتی ہے یا وہ کھو سکتے ہیں۔

Silent Push کے لیے Apple کی سفارشات

Apple مؤثر silent push استعمال کے لیے کئی اصولوں پر عمل کرنے کی سفارش کرتا ہے۔ فی ڈیوائس فی گھنٹہ 2–3 سے زیادہ silent push نہ بھیجیں — حد سے تجاوز کرنا بلاک کرنے کا باعث بنتا ہے۔ کمپیکٹ پے لوڈ استعمال کریں: کم سے کم پے لوڈ سائز پروسیسنگ کو تیز کرتی ہے اور نیٹ ورک کا بوجھ کم کرتی ہے۔ ہمیشہ جتنی جلدی ممکن ہو completionHandler کو کال کریں: پروسیسنگ جتنی زیادہ دیر لے گی، سسٹم کے مستقبل میں silent pushes کو محدود کرنے کا امکان اتنا ہی زیادہ ہوگا۔

Silent Push کے متبادل

ان منظرناموں کے لیے جن میں ضمانت شدہ ترسیل یا زیادہ پروسیسنگ وقت کی ضرورت ہوتی ہے، متبادل پر غور کریں۔ VoIP push (PushKit) ترسیل کی ضمانت دیتا ہے اور زیادہ وقت دیتا ہے، لیکن صرف VoIP ایپلیکیشنز کے لیے ہے۔ Background fetch (UIApplication background fetch) سسٹم کے ذریعے ایک شیڈول پر شروع کیا جاتا ہے، لیکن سرور کے ذریعے شروع نہیں کیا جا سکتا۔ WebSocket ایک مستقل کنکشن برقرار رکھتا ہے لیکن زیادہ بیٹری خرچ کرتا ہے اور تمام قسم کی ایپس کے لیے موزوں نہیں ہے۔

نگرانی اور ڈیبگنگ

Silent Push کو ڈیبگ کرنے کے لیے، Mac پر Console.app استعمال کریں اور ایپ کے نام کے مطابق فلٹر کریں۔ سسٹم ہر silent push کو “background task” لیبل کے ساتھ لاگ کرتا ہے اور بتاتا ہے کہ پروسیسنگ کامیاب رہی یا نہیں۔ ڈیوائس پر، Settings → Developer → Background Modes Logging کے ذریعے چیک کریں۔ سرور سائیڈ ٹریکنگ APNS Feedback Service کے ذریعے کی جاتی ہے تاکہ نہ پہنچنے والی اطلاعوں کی نشاندہی کی جا سکے۔

اکثر پوچھے گئے سوالات

Silent Push عام push اطلاع سے کیسے مختلف ہے؟

Silent Push صارف کو ظاہر نہیں ہوتا، آواز نہیں چلاتا اور نوٹیفکیشن سینٹر میں نہیں آتا۔ اس کا مقصد ڈیٹا کی مطابقت پذیری کے لیے ایپ کو پس منظر میں فعال کرنا ہے۔ عام push ہمیشہ ایک بینر دکھاتا ہے اور اس میں آواز اور بیج شامل ہو سکتے ہیں۔

Silent Push پر کارروائی کرنے کے لیے کتنا وقت دیا جاتا ہے؟

ایپ کو پس منظر کا کام مکمل کرنے کے لیے 30 سیکنڈ ملتے ہیں۔ completionHandler کال کرنے کے بعد، سسٹم ڈیوائس کو نیند کے موڈ میں واپس کر دیتا ہے۔ اگر completionHandler وقت پر نہیں بلایا جاتا، سسٹم اس ایپ کو silent push کی ترسیل بند کر سکتا ہے۔

Silent Push ڈیوائس تک کیوں نہیں پہنچ سکتا؟

سسٹم ترسیل میں تاخیر کر سکتا ہے جب بیٹری کم ہو، پاور سیونگ موڈ میں ہو، بار بار silent push بھیجنے کے بعد یا اگر ایپ طویل عرصے سے استعمال نہیں ہوئی ہو۔ یہ iOS کا عام رویہ ہے، جس کا نفاذ کی غلطیوں سے کوئی تعلق نہیں۔

کیا Silent Push کو عام اطلاع کے ساتھ بھیجا جا سکتا ہے؟

ہاں، آپ alert کے ساتھ content-available 1 شامل کر سکتے ہیں — اس صورت میں اطلاع صارف کو دکھائی جائے گی اور ایپ کو اضافی پس منظر میں فعالیت ملے گی۔ لیکن اگر کام صرف ڈسپلے کے بغیر پس منظر کی مطابقت پذیری ہے، تو alert شامل نہیں کیا جا سکتا۔

کیسے تصدیق کریں کہ Silent Push صحیح طریقے سے پروسیس ہو رہا ہے؟

Mac پر Console.app استعمال کر کے پس منظر کے کاموں کے لاگز دیکھیں۔ APNS کے ذریعے ایک ٹیسٹ silent push بھیجیں اور چیک کریں کہ didReceiveRemoteNotification صحیح completionHandler کے ساتھ بلایا جاتا ہے۔ Xcode میں، پس منظر کے موڈ سمولیشن کے ساتھ سمیولیٹر استعمال کریں۔

خلاصہ

  • Silent Push — ایک iOS پس منظر کی مطابقت پذیری کا طریقہ کار جو صارف کو دکھائے بغیر ڈیٹا پہنچاتا ہے، ایپ کو 30 سیکنڈ کے لیے فعال کرتا ہے۔
  • content-available: 1 کلید — APNS پے لوڈ میں ایک لازمی جھنڈا جو خاموش اطلاع کو عام سے ممتاز کرتا ہے؛ alert، sound اور badge غیر حاضر ہونے چاہئیں۔
  • ترسیل کی ضمانت نہیں — iOS بیٹری کی سطح، تعدد اور ایپ کی سرگرمی کی بنیاد پر silent push کی ترسیل کو بہتر بناتا ہے؛ اصل ترسیل کی شرح 70–80% ہے۔
  • استعمال کے معاملات — پس منظر میں مواد ڈاؤن لوڈ، ویجٹ اپ ڈیٹ، کیشے باطل کرنا، سبسکرپشن مطابقت پذیری، بیج اپ ڈیٹ۔
  • تعدد کی حد — فی ڈیوائس فی گھنٹہ 2–3 سے زیادہ silent push نہیں؛ حد سے تجاوز کرنے پر سسٹم ترسیل کو بلاک کر دیتا ہے۔
  • iOS Silent Push میں تاخیر یا منسوخی کر سکتا ہے جب بیٹری کم ہو، لو پاور موڈ میں ہو یا صارف کے طویل عرصے غیر فعال رہنے کے بعد۔
  • Silent Push — صارف کے تجربے کو بہتر بنانے کا ایک مؤثر ذریعہ ہے لیکن اسے اہم یا ضمانت شدہ اطلاعوں کے لیے استعمال نہیں کرنا چاہیے۔

ہم ایک موبائل ایپلیکیشن ٹرنکی تیار کریں گے

IT Sectr 2017 سے اسٹارٹ اپس اور کاروبار کے لیے iOS اور Android ایپلیکیشنز بناتا ہے۔ ہم آپ کو مشورہ دیں گے اور بہترین حل تجویز کریں گے۔

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

مزید پڑھیں