Mobil ishlab chiqishda Push-bildirishnomalar: mohiyati, turlari va qanday ishlashi

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

Push-bildirishnomalar ilova o'rnatilgandan so'ng foydalanuvchi bilan o'zaro aloqaning eng samarali usullaridan biridir. Ular yangi xabar, chegirma, kontent yangilanishi haqida xabar berish yoki tashlab ketilgan savatni eslatish imkonini beradi. Push-bildirishnomalar (push notifications) bulut xizmatlari orqali ishlaydi: Android-da Firebase Cloud Messaging (FCM) va iOS-da Apple Push Notification Service (APNS). Ushbu maqolada bildirishnomalar arxitekturasini, ularning turlarini va ikkala platforma uchun sozlash jarayonini tahlil qilamiz. Batafsil ma'lumot uchun — rasmiy FCM hujjatlariga qarang.

Asosiy nuqtalar

  • FCM — Android va iOS uchun universal xizmat (APNS proksi orqali)
  • APNS — iOS, macOS, watchOS uchun Apple-ning mahalliy xizmati
  • Boy bildirishnomalar App Extensions orqali media kontentini (rasmlar, tugmalar, audio) o'z ichiga oladi
  • Jim Push foydalanuvchiga ko'rsatmasdan fonda ma'lumotlarni yangilaydi
  • Device Token — noyob qurilma identifikatori; serverda saqlanishi va yangilanishi kerak
  • Notification Channels (Android) va Notification Categories (iOS) — foydalanuvchi tomonidan bildirishnomalarni guruhlash va sozlash

Push-bildirishnomalar nima?

Push-bildirishnoma — bu server ilovadan so'rovsiz mobil qurilmaga yuboradigan xabardir. Xabar bulut xizmati (FCM yoki APNS) orqali o'tadi va ilova yopiq bo'lsa ham uni qurilmaga yetkazadi. Bildirishnomalar ikki turga bo'linadi: display bildirishnomalar (foydalanuvchiga ko'rsatiladi) va data bildirishnomalar (fon ishlov berish uchun ma'lumotlarni uzatadi).

Push-bildirishnoma arxitekturasi uch komponentni o'z ichiga oladi: (1) ilova serveri — FCM/APNS-ga so'rov yuboradi; (2) bulut xizmati — bildirishnomani yo'naltiradi; (3) mijoz ilovasi — bildirishnomani qabul qiladi va qayta ishlaydi. Server bildirishnomani aynan shu qurilmaga yuborish uchun qurilmaning Device Token-ni bilishi kerak. Ommaviy jo'natishlar uchun Topic Subscription ishlatiladi — qurilmalarning tematik kanallarga (yangiliklar, aksiyalar, ob-havo) obuna bo'lishi.

Har bir qurilmada bildirishnomalar operatsion tizim tomonidan qayta ishlanadi: Android — NotificationManager va NotificationChannel orqali, iOS — UNUserNotificationCenter orqali. Foydalanuvchi har bir kanal uchun bildirishnoma xatti-harakatini sozlashi mumkin: tovush, banner, qulf ekranida ko'rsatish yoki butunlay o'chirish. Kanallarni to'g'ri sozlash ishtirokni oshiradi va obunani bekor qilish darajasini pasaytiradi.

IT Sectr-da biz push-bildirishnoma tizimini boshidanoq platformaga xos xususiyatlarni hisobga olgan holda loyihalashtiramiz. Asosiy qarorlar: FCM va to'g'ridan-to'g'ri APNS o'rtasida tanlov, yuk formati, jo'natish chastotasi va obuna mexanikasi. Bu bildirishnomalar yetib bormaslik yoki tizim tomonidan bloklanish holatlarining oldini olishga yordam beradi.

FCM vs APNS

Firebase Cloud Messaging (FCM) bildirishnomalarni yetkazib berish uchun Google-ning o'zaro platforma xizmatidir. FCM Android, iOS, Web va Flutter-ni qo'llab-quvvatlaydi. iOS-da FCM APNS orqali ishlaydi: FCM APNS-ga so'rov yuboradi, APNS bildirishnomani qurilmaga yetkazadi. FCM ning afzalliklari: ikkala platforma uchun yagona API, o'rnatilgan analitika, A/B testi, mavzular va auditoriya segmentlari.

Apple Push Notification Service (APNS) Apple-ning mahalliy xizmatidir. Faqat Apple qurilmalarida (iOS, macOS, watchOS, tvOS) ishlaydi. TLS sertifikati yoki token (JWT) orqali to'g'ridan-to'g'ri avtorizatsiyani talab qiladi. APNS ta'minlaydi: minimal yetkazib berish kechikishi va iOS funksiyalari bilan to'g'ridan-to'g'ri integratsiya: PushKit, Notification Service Extension va Kritik ogohlantirishlar.

FCM va APNS o'rtasidagi tanlov loyiha arxitekturasiga bog'liq. Ilova faqat iOS uchun bo'lsa — APNS ko'proq nazorat beradi. O'zaro platforma bo'lsa — FCM yagona API bilan qulayroq. Ko'plab loyihalar FCM-ni asosiy xizmat sifatida ishlatadi va iOS-da VoIP uchun qo'shimcha PushKit-ni sozlaydi. Gibrid yondashuv ikkala tizimdan eng yaxshisini olish imkonini beradi.

Xususiyat FCM APNS
PlatformalarAndroid, iOS, Web, FlutteriOS, macOS, watchOS, tvOS
AvtorizatsiyaServer kaliti (Firebase Console)TLS sertifikati yoki JWT token
Maksimal yuk4 KB (data), 2 KB (notification)4 KB
MavzularO'rnatilgan (Topic Messaging)Yo'q (server tomonida amalga oshiriladi)
Jim PushQo'llab-quvvatlanadiQo'llab-quvvatlanadi (content-available)
PushKitYo'qHa (VoIP, jonli faoliyatlar)
AnalitikaFirebase AnalyticsO'rnatilgani yo'q
O'chirilgan qurilmaga yetkazishCheklangan (ishlab chiqaruvchiga bog'liq)Ha, PushKit orqali

Bildirishnoma turlari (Boy, Jim, Interaktiv)

Boy bildirishnoma (Rich Notification)

Boy bildirishnoma faqat matn emas, balki media kontentini ham o'z ichiga olgan bildirishnomadir: rasmlar, video, audio va harakat tugmalari. Android-da NotificationCompat uslublari orqali amalga oshiriladi: BigPictureStyle (katta rasm), BigTextStyle (yig'ilgan/kengaytirilgan matn), InboxStyle (xabarlar ro'yxati), MediaStyle (ijro etishni boshqarish). iOS-da Notification Content Extension ishlatiladi — kengaytirilgan bildirishnoma uchun maxsus UI bilan alohida target.

Jim Push (Silent Push)

Jim Push (iOS-da content-available) foydalanuvchiga ko'rsatilmasdan yetkaziladigan bildirishnomadir. Fon ma'lumotlarini yangilash uchun mo'ljallangan: kontent sinxronizatsiyasi, oldindan yuklash, vidjet yangilanishlari. iOS-da Jim Push Background Modes → Remote notifications-ni yoqishni talab qiladi. Android-da fon bildirishnomalarini boshqarish uchun FirebaseMessagingService onMessageReceived bilan ishlatiladi. Muhim: iOS-da Jim Push chastota cheklovlariga ega va ilova oldingi planda bo'lmasa yetkazib berishni kafolatlamaydi.

Interaktiv bildirishnoma (Interactive Notification)

Interaktiv bildirishnoma foydalanuvchiga ilovani ochmasdan harakatni bajarish imkonini beradi. Android-da bular bildirishnomadagi tugmalar (Action): "Javob ber", "Tasdiqla", "Rad et". Harakatlar PendingIntent orqali qayta ishlanadi, BroadcastReceiver yoki Service-ni ishga tushiradi. iOS-da Notification Action UNNotificationAction va UNNotificationCategory orqali ro'yxatdan o'tkaziladi. Tugmalar foreground (ilovani ochadi), background (fonda bajaradi) yoki destructive (qaytarib bo'lmaydigan harakat — o'chirish, bloklash) bo'lishi mumkin.

Notification Content Extension va Service Extension

Notification Content Extension (iOS) — uzoq bosish yoki 3D Touch vaqtida kengaytirilgan bildirishnoma kontentini ko'rsatish uchun maxsus ko'rinish boshqaruvchisi. Notification Service Extension (iOS) — ko'rsatishdan oldin bildirishnoma kontentini o'zgartirish uchun middleware: E2E xabarlarni shifrini ochish, rasmlarni yuklash, maxfiy ma'lumotlarni xiralashtirish. Android-da to'g'ridan-to'g'ri o'xshashlar yo'q — barcha o'zgartirishlar FirebaseMessagingService da amalga oshiriladi.

Android va iOS-da bildirishnomalarni sozlash

Android-da sozlash

Android uchun zarur: (1) loyihaga Firebase SDK qo'shish (google-services.json); (2) har bir bildirishnoma toifasi uchun NotificationChannel (Android 8+) yaratish; (3) token va kiruvchi xabarlarni olish uchun FirebaseMessagingService-ni amalga oshirish. Notification Channel majburiy — usiz Android 8+ da bildirishnomalar ko'rsatilmaydi. Kanallar ustuvorlikka ega (IMPORTANCE_HIGH — tovush + ochiladigan oyna, IMPORTANCE_LOW — tovushsiz) va foydalanuvchi tizim sozlamalarida ularni sozlashi mumkin.

iOS-da sozlash

iOS uchun zarur: (1) Xcode-da Push Notifications qobiliyatini yoqish; (2) Apple Developer Portal-da APNS kalitini sozlash; (3) UNUserNotificationCenter.requestAuthorization orqali ruxsat so'rash — bu bir marta ko'rsatiladigan tizim dialogidir. Foydalanuvchining javobi muhim: ruxsat berilmasa, bildirishnomalar yetkazilmaydi. Tizim dialogini ko'rsatishdan oldin foydalanuvchiga bildirishnomalar nima uchun kerakligini tushuntirish tavsiya etiladi (pre-permission prompt).

Asboblar va Token

Device Token (iOS) va Registration Token (Android) push-bildirishnomalar uchun noyob qurilma identifikatorlaridir. Token birinchi ilova ishga tushirilganda yaratiladi va o'zgarishi mumkin: qayta o'rnatish, ma'lumotlarni tozalash, maxfiylik sozlamalarini tiklash vaqtida. Server muntazam ravishda tokenlarni yangilashi kerak. Firebase ta'minlaydi: onNewToken orqali tokenlarni boshqarish uchun qulay API, shuningdek test bildirishnomalarini jo'natish uchun panel (Firebase Console → Cloud Messaging).

Topic Subscription FCM ning eng samarali mexanizmlaridan biridir. Qurilma mavzuga (masalan, "news", "promo_users_ios") obuna bo'ladi va server tokenlar ro'yxatini saqlashga hojat qolmasdan mavzu bo'yicha bildirishnomalar yuboradi. Firebase Topics har bir mavzu uchun milliongacha obunachini va ifoda tili orqali shartli jo'natishni (Condition) qo'llab-quvvatlaydi: "'news' in topics && ('US' in topics || 'UK' in topics)".

Notification Payload FCM/APNS orqali yuboriladigan JSON strukturasidir. FCM uchun: alohida notification (ko'rinadigan qism — sarlavha, asosiy matn, rasm) va data (ilova uchun maxsus maydonlar). APNS uchun: alert, badge, sound, category va content-available bilan aps lug'ati. To'g'ri yuk strukturasi muhim: notification + data bir vaqtda kelsa, fondagi ilova data-ni ololmasligi mumkin. Android uchun faqat data xabarlaridan foydalanish va vizual maydonlarni FCM Console orqali alohida yuborish tavsiya etiladi.

Tez-tez so'raladigan savollar

FCM va APNS o'rtasidagi farq nima?

FCM (Firebase Cloud Messaging) Android va o'zaro platforma bildirishnomalari uchun Google xizmatidir. APNS (Apple Push Notification Service) faqat iOS/macOS uchun Apple xizmatidir. FCM bildirishnomalarni yetkazishi mumkin iOS-da APNS orqali, proksi server sifatida ishlab.

Boy bildirishnoma (Rich Notification) nima?

Boy bildirishnoma media kontenti (rasmlar, video, audio, harakat tugmalari) bilan takomillashtirilgan bildirishnomadir. iOS-da Notification Content Extension orqali amalga oshiriladi; Android-da BigPictureStyle va InboxStyle orqali.

Device Token qanday ishlaydi?

Device Token push-bildirishnomalarni yuborish uchun noyob qurilma identifikatoridir. Android-da bu FCM dan Registration Token; iOS-da APNS dan Device Token. Token o'zgarishi mumkin ilova qayta o'rnatilganda yoki sozlamalar tiklanganda, shuning uchun serverda yangilanishi kerak.

Jim Push nima va nima uchun kerak?

Jim Push (sokin bildirishnoma) foydalanuvchiga ko'rsatilmaydigan bildirishnomadir. Fon ma'lumotlarini yangilash uchun ishlatiladi: kontent sinxronizatsiyasi, vidjet yangilanishlari, oldindan olish. iOS-da yoqish talab qilinadi Background Modes → Remote notifications.

PushKit oddiy push-bildirishnomalardan qanday farq qiladi?

PushKit VoIP ilovalarida (qo'ng'iroqlar, messenjerlar) ishlatiladigan yuqori ustuvorlikdagi bildirishnomalarni yetkazish uchun Apple freymvorkidir. PushKit bildirishnomani yetkazadi ilova o'chirilgan bo'lsa ham va qayta ishlash uchun ilovani ishga tushirishni kafolatlaydi.

Xulosa

  • FCM — Google-ning o'zaro platforma xizmati; APNS — Apple-ning mahalliy xizmati
  • Boy bildirishnoma media va tugmalarni o'z ichiga oladi; Jim Push foydalanuvchiga ko'rsatmasdan ma'lumotlarni yangilaydi
  • Notification Channel (Android) va Notification Category (iOS) — bildirishnomalarni guruhlash uchun majburiy
  • Device Token — noyob identifikator; serverda muntazam yangilanishi kerak
  • Topic Subscription token ro'yxatini saqlamasdan ommaviy jo'natishlarni soddalashtiradi
  • PushKit — muhim bildirishnomalar uchun (VoIP, hayotiy ogohlantirishlar)
  • Notification Payload platformaga muvofiq tuzilgan bo'lishi kerak: FCM uchun notification + data, APNS uchun aps

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