Silent Push — mohiyati, fon vazifalari va yetkazib berishni sozlash

Muallif: IT Sectr Nashr etilgan: 2026-03-20 O'qish vaqti: 9 daq

Silent Push — bu iOS push-bildirishnomasining bir turi bo‘lib, qurilmaga hech qanday ko‘rinadigan va ovozli xabarsiz yetkaziladi. Jim bildirishnomaning asosiy vazifasi — fon ma’lumot sinxronizatsiyasi, tarkibni yangilash va foydalanuvchi e’tiborini talab qilmaydigan qisqa vazifalarni bajarishdir. Apple Developer Documentation, 2026 ma’lumotlariga ko‘ra, Silent Push kiruvchi ma’lumotlarni qayta ishlash uchun ilovani 30 soniya fon rejimida faollashtiradi, shundan so‘ng tizim batareya quvvatini tejash uchun qurilmani uyqu rejimiga qaytaradi.

Asosiy fikrlar

  • Fon faollashuvi — Silent Push foydalanuvchi ishtirokisiz ma’lumotlarni qayta ishlash uchun ilovani 30 soniya fon rejimida uyg‘otadi.
  • content-available kaliti — APNS yukidagi 1 qiymatiga ega majburiy bayroq, jim bildirishnomani oddiy bildirishnomadan farqlaydi.
  • Batareyani tejash — tizim silent push yetkazilishini optimallashtiradi: past quvvatda yoki energiya tejash rejimida yetkazish kechiktirilishi yoki bekor qilinishi mumkin.
  • Chastota cheklovlari — iOS har bir silent push yetkazilishiga kafolat bermaydi, ayniqsa yuqori jo‘natish chastotasida yoki ilova fon rejimida bo‘lganda.
  • UI yo‘q — jim bildirishnoma Notification Center-da ko‘rsatilmaydi, ovoz chiqarmaydi va ilova belgisidagi badge-ni oshirmaydi.

Silent Push nima — mohiyati va maqsadi

Silent Push (jim push bildirishnoma) — bu foydalanuvchiga hech qanday vizual bildirishnomasiz qurilmaga ma’lumot yetkazuvchi iOS mexanizmi. Standart push-dan farqli o‘laroq, u banner ko‘rsatadi, ovoz chiqaradi va Notification Center-ga tushadi, silent push ilovani fon rejimida „uyg‘otadi” va unga qayta ishlash uchun ma’lumotlarni uzatadi. Foydalanuvchi bunday bildirishnomaning yetkazilishidan hech qachon xabar topmaydi — natija keyingi ochilishda yangilangan tarkibdir.

Oddiy push bildirishnomalardan farqi

Asosiy farq JSON yukida: silent push content-available: 1 bayrog‘ini o‘z ichiga oladi va alert, sound yoki badge ni o‘z ichiga OLMAYDI. Standart bildirishnoma alert bilan har doim foydalanuvchiga ko‘rsatiladi, content-available dan qat’iy nazar. Silent push faqat content-available: 1 bilan va alertsiz ishlaydi — agar alert qo‘shilsa, tizim hatto fon yetkazish bayrog‘i bilan ham bildirishnomani ko‘rsatadi.

Silent Push qachon ishlatiladi

Jim bildirishnomalar ma’lumotlar ilova ochilgan paytda yangi bo‘lishi kerak bo‘lgan, ammo foydalanuvchi chalg‘itilmasligi kerak bo‘lgan stsenariylarda ajralmasdir. Misollar: yangiliklar lentasini fonda yangilash, obunalarni sinxronlash, oflayn kirish uchun yangi tarkibni yuklab olish, vidjetlarni yangilash, keshni bekor qilish. Silent Push shuningdek kutilgan foydalanuvchi harakatidan oldin ilovani „istish” uchun ham ishlatiladi.

Jim bildirishnomalarni yetkazish qanday ishlaydi

Silent Push yetkazilishi oddiy bildirishnomalardan sezilarli darajada farq qiladi va energiya iste’molini optimallashtirish qoidalariga bo‘ysunadi. iOS tizimi APNS dan push so‘rovini oladi, bu silent push (content-available: 1) ekanligini aniqlaydi va yetkazish haqida bir necha omillar asosida qaror qabul qiladi: batareya quvvati darajasi, energiya tejash rejimi, oldingi silent push-lar chastotasi, ilova faolligi va joriy CPU yuki.

Power Nap va fon rejimlarining roli

Apple M chipi va iOS 15+ bo‘lgan qurilmalarda silent push fon vazifalari uchun qurilmani vaqti-vaqti bilan uyg‘otadigan Power Nap mexanizmi bilan integratsiyalanadi. Power Nap bir nechta silent push-ni bitta faollik davrida birlashtiradi, bu umumiy energiya sarfini kamaytiradi. Dasturchi Power Nap-ni bevosita boshqara olmaydi — tizim foydalanuvchi xatti-harakati va ilovadan foydalanish tarixi asosida avtomatik qaror qabul qiladi.

30 soniyalik qayta ishlash oynasi

Tizim silent push yetkazganda, ilova AppDelegate da application(_:didReceiveRemoteNotification:fetchCompletionHandler:) chaqiruvini oladi. Dasturchi majbur 30 soniya ichida completion handler ni to‘g‘ri natija bilan (UIBackgroundFetchResult) chaqirishi kerak. Agar qayta ishlash o‘z vaqtida tugamasa, tizim ushbu ilova uchun silent push chastotasini cheklashi yoki ularni butunlay yetkazishni to‘xtatishi mumkin.

swift
// Silent Push ni AppDelegate da qayta ishlash
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)
    }
}

Yetkazishlar orasidagi intervallar

Apple silent push-lar orasidagi aniq intervallarni e’lon qilmaydi, ammo testlar va hujjatlar asosida bitta qurilmaga soatiga 2–3 tadan ko‘p bo‘lmagan jim bildirishnoma yuborish tavsiya etiladi. Tez-tez yuborishda tizim silent push-larni e’tiborsiz qoldira boshlaydi va ma’lumotlar yetkazilmay qoladi. Agar tez-tez sinxronlash zarur bo‘lsa, fon konfiguratsiyasi bilan URLSession yoki VoIP push dan foydalanishni ko‘rib chiqing.

Silent Push foydalanish stsenariylari

Silent Push foydalanuvchining faol ishtirokisiz ma’lumotlar yangi bo‘lishi kerak bo‘lgan keng doiradagi vazifalarda qo‘llaniladi. Ushbu mexanizmdan real iOS ilovalarida eng samarali foydalanish stsenariylarini ko‘rib chiqaylik.

Oflayn kirish uchun tarkibni yangilash

Yangilik ilovalari, o‘quvchilar va sayohat ilovalari fonda yangi tarkibni yuklab olish uchun Silent Push-dan foydalanadi. Foydalanuvchi ilovani ochganda, ma’lumotlar allaqachon yuklab olingan va hatto internet bo‘lmasa ham mavjud. Bunday yondashuv foydalanuvchi tajribasini tubdan yaxshilaydi — bo‘sh yuklash ekranlari yo‘qoladi va tarkib darhol ko‘rsatiladi. Server yangi maqolalar paydo bo‘lganda silent push yuboradi, ilova esa ularni fonda oflayn o‘qish uchun yuklab oladi.

Vidjetlar holatini sinxronlash

iOS WidgetKit vidjetlarni jadval bo‘yicha yangilaydi, ammo serverdagi ma’lumotlar o‘zgargandan so‘ng darhol yangilash uchun Silent Push ishlatiladi. Ilova fonda silent push-ni qayta ishlaydi, vidjetlar uchun mahalliy ma’lumotlar omborini yangilaydi va WidgetCenter orqali timeline-ni majburiy yangilaydi. Foydalanuvchi ilovani ochmasdan vidjetda dolzarb ma’lumotlarni ko‘radi — valyuta kursi, ob-havo prognozi, yetkazib berish holati.

Keshni bekor qilish va eskirgan ma’lumotlarni tozalash

Server muhim ma’lumotlarni yangilaganda (masalan, tarif qoidalari, premium foydalanuvchilar uchun mavjud funksiyalar ro‘yxati), Silent Push mahalliy keshni darhol bekor qilish imkonini beradi. Keyingi ochilishda ilova serverdan yangi ma’lumotlarni yuklaydi, eskirgan keshdan foydalanmaydi. Bu, ayniqsa, pulli tarkib yoki obunalarga ega ilovalar uchun dolzarbdir.

Ko‘rinadigan bildirishnomasiz badge yangilash

Ba‘zi stsenariylarda bildirishnoma ko‘rsatmasdan ilova belgisidagi badge-ni yangilash talab qilinadi. Yukda badge maydoni bilan Silent Push foydalanuvchini banner bilan bezovta qilmasdan hisoblagich qiymatini o‘rnatish imkonini beradi. Masalan, chat ilovasi har bir yangi xabarni bildirishnoma sifatida ko‘rsatmasdan, agar foydalanuvchi ilova ichida bo‘lsa, o‘qilmagan xabarlar soni bilan badge-ni yangilashi mumkin.

Silent push sozlash: yuk va imkoniyatlar

Silent Push to‘g‘ri ishlashi uchun uch darajada sozlash talab qilinadi: Xcode loyihasi, serverda JSON yuki va ilovada qayta ishlash kodi. Har bir daraja muhimdir: har qanday qadamni o‘tkazib yuborish bildirishnomaning oddiy tarzda yetkazilishiga yoki umuman yetkazilmasligiga olib keladi.

Xcode da imkoniyatlarni sozlash

Xcode da Push Notifications imkoniyatini va Remote notifications belgilangan Background Modes-ni yoqish kerak. Push Notifications APNS uchun sertifikat yaratadi, Remote notifications esa Background Modes ichida tizimga silent push qabul qilinganda ilovani uyg‘otishga ruxsat beradi. Remote notifications bo‘lmasa, silent push yetkaziladi, ammo ilova fonda faollashmaydi va ma’lumotlar qayta ishlanmaydi.

JSON yuki tuzilishi

Silent Push yuki content-available: 1 bilan aps kalitini o‘z ichiga olishi kerak va alert, sound yoki badge ni o‘z ichiga OLMAYDI. Maxsus maydonlar aps bilan bir darajada uzatiladi va qayta ishlash uchun ma’lumotlarni o‘z ichiga oladi: operatsiya turi, ob’ekt identifikatorlari, metama’lumotlar. Content-available bo‘lmagan yuk oddiy bildirishnoma sifatida qayta ishlanadi; alert bilan — content-available bo‘lsa ham, oddiy bildirishnoma sifatida.

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

Mijoz tomonida qayta ishlash

Silent push qabul qilinganda, iOS ilova ko‘rinadigan bo‘lishidan oldin application(_:didReceiveRemoteNotification:fetchCompletionHandler:) ni chaqiradi. Ushbu metodda userInfo ni tahlil qilish, kerakli ishlarni bajarish (tarmoq so‘rovlari, Core Data ga yozish, keshni yangilash) va 30 soniya ichida majburiy ravishda completionHandler ni to‘g‘ri natija bilan chaqirish kerak. CompletionHandler ni chaqirmaslik tizim tomonidan xato deb hisoblanadi va kelajakdagi silent push-lar chastotasiga ta’sir qiladi.

Cheklovlar va eng yaxshi amaliyotlar

Silent Push muhim operatsiyalar uchun ishonchli ma’lumot yetkazish kanali emas — bu optimallashtirish mexanizmi, kafolatlangan sinxronizatsiya emas. Dasturchi cheklovlarni tushunishi va tizimni ilova ham silent push bilan, ham unsiz to‘g‘ri ishlaydigan tarzda loyihalashi kerak.

Yetkazish cheklovlari

iOS har bir silent push yetkazilishiga kafolat bermaydi. Tizim batareya quvvati past bo‘lganda (20% dan past), Low Power Mode rejimida, oldingi silent push-lar chastotasi yuqori bo‘lganda, shuningdek ilova uzoq vaqt ishlatilmagan bo‘lsa yetkazishni kechiktirishi yoki bekor qilishi mumkin. O‘rtacha yetkazish statistikasi Apple ma’lumotlariga ko‘ra: silent push-larning taxminan 70–80% 5 daqiqa ichida yetkaziladi, qolganlari kechiktirilishi yoki yo‘qolishi mumkin.

Apple-ning silent push bo‘yicha tavsiyalari

Apple silent push-dan samarali foydalanish uchun bir nechta qoidalarga rioya qilishni tavsiya qiladi. Bir qurilmaga soatiga 2–3 silent push-dan ko‘p yubormang — limitni oshirish blokirovkaga olib keladi. Compact payload dan foydalaning: minimal yuk hajmi qayta ishlashni tezlashtiradi va tarmoq yukini kamaytiradi. CompletionHandler ni har doim va imkon qadar tez chaqiring: qayta ishlash qancha uzoq davom etsa, kelajakda tizim silent push-ni cheklash ehtimoli shuncha yuqori.

Silent Push ga alternativlar

Kafolatlangan yetkazish yoki ko‘proq qayta ishlash vaqti talab qiladigan stsenariylar uchun alternativlarni ko‘rib chiqing. VoIP push (PushKit) yetkazishni kafolatlaydi va ko‘proq vaqt beradi, ammo faqat VoIP ilovalari uchun mo‘ljallangan. Background fetch (UIApplication background fetch) tizim tomonidan jadval bo‘yicha ishga tushiriladi, ammo server tomonidan boshlab bo‘lmaydi. WebSocket doimiy aloqani saqlaydi, ammo ko‘proq batareya sarflaydi va barcha turdagi ilovalar uchun mos emas.

Monitoring va nosozliklarni tuzatish

Silent Push nosozliklarini tuzatish uchun Mac da Console.app dan ilova nomi bilan filtrdan foydalaning. Tizim har bir silent push-ni “fon vazifasi” belgisi bilan qayd qiladi va qayta ishlash muvaffaqiyatli bo‘lganligini ko‘rsatadi. Qurilmada tekshirish Sozlamalar → Dasturchi → Fon rejimlarini qayd etish orqali amalga oshiriladi. Server tomoni yetkazilmagan bildirishnomalarni aniqlash uchun APNS Feedback Service orqali kuzatiladi.

Tez-tez beriladigan savollar

Silent Push oddiy push bildirishnomadan qanday farq qiladi?

Silent Push foydalanuvchiga ko‘rsatilmaydi, ovoz chiqarmaydi va Notification Center ga tushmaydi. Uning vazifasi — ma’lumotlarni sinxronlash uchun ilovani fon rejimida faollashtirish. Oddiy push har doim banner ko‘rsatadi va ovoz va badge o‘z ichiga olishi mumkin.

Silent Push ni qayta ishlash uchun qancha vaqt beriladi?

Ilova fon vazifasini bajarish uchun 30 soniya oladi. CompletionHandler chaqirilgandan so‘ng tizim qurilmani uyqu rejimiga qaytaradi. Agar completionHandler o‘z vaqtida chaqirilmasa, tizim ushbu ilovaga silent push yuborishni to‘xtatishi mumkin.

Nega Silent Push qurilmaga yetib bormasligi mumkin?

Tizim batareya quvvati past bo‘lganda, energiya tejash rejimida, tez-tez silent push yuborilganda yoki ilova uzoq vaqt ishlatilmagan bo‘lsa yetkazishni kechiktirishi mumkin. Bu iOS ning normal xatti-harakati, amalga oshirishdagi xatolar bilan bog‘liq emas.

Silent Push ni oddiy bildirishnoma bilan birga yuborish mumkinmi?

Ha, content-available: 1 ni alert bilan birga ko‘rsatish mumkin — bu holda bildirishnoma foydalanuvchiga ko‘rsatiladi va ilova qoŕimcha fon faollashuvini oladi. Ammo agar vazifa faqat ko‘rsatishsiz fon sinxronizatsiyasi bo‘lsa, alert ko‘rsatilmasligi kerak.

Silent Push to‘g‘ri qayta ishlanayotganini qanday tekshirish mumkin?

Mac da Console.app dan fon vazifalari jurnallarini ko‘rish uchun foydalaning. APNS orqali test silent push yuboring va didReceiveRemoteNotification to‘g‘ri completionHandler bilan chaqirilganligini tekshiring. Xcode da fon rejimi imitatsiyasi bilan simulyatordan foydalaning.

Xulosa

  • Silent Push — foydalanuvchiga ko‘rsatmasdan ma’lumot yetkazuvchi, ilovani 30 soniya faollashtiruvchi iOS fon sinxronizatsiya mexanizmi.
  • content-available: 1 kaliti — APNS yukidagi majburiy bayroq, jim bildirishnomani oddiy bildirishnomadan farqlaydi; alert, sound va badge bo‘lmasligi kerak.
  • Yetkazish kafolatlanmagan — iOS silent push yetkazilishini batareya quvvati, chastota va ilova faolligi asosida optimallashtiradi; haqiqiy yetkazish 70–80% ni tashkil qiladi.
  • Foydalanish stsenariylari — fonda tarkib yuklab olish, vidjetlarni yangilash, keshni bekor qilish, obunalarni sinxronlash, badge yangilash.
  • Chastota cheklovi — bitta qurilmaga soatiga 2–3 silent push dan ko‘p emas; oshirish tizim tomonidan yetkazishni bloklashga olib keladi.
  • iOS Silent Push ni kechiktirishi yoki bekor qilishi mumkin past quvvatda, Low Power Mode da yoki foydalanuvchi faolligi uzoq vaqt bo‘lmaganda.
  • Silent Push — foydalanuvchi tajribasini optimallashtirish uchun samarali vosita, ammo muhim yoki kafolatlangan bildirishnomalar uchun ishlatilmasligi kerak.

Biz kalit topshirig'i bilan mobil ilovani ishlab chiqamiz

IT Sectr 2017-yildan beri startaplar va korxonalar uchun iOS va Android ilovalarini yaratadi. Biz sizga maslahat beramiz va eng yaxshi yechimni taklif qilamiz.

Loyihani muhokama qilish

Shuningdek o'qing