Notification Permission: bu nima, bildirishnoma turlari va ishlash prinsipi

Muallif: IT Sectr Nashr etilgan: 2026-05-22 O'qish vaqti: 8 daq

Notification Permission — bu ilovaga foydalanuvchiga push-bildirishnomalar va mahalliy bildirishnomalarni yuborish uchun zarur bo‘lgan ruxsatdir. Android 13 va iOS 12 dan boshlab, ilovalar ushbu ruxsatni ish vaqtida tizim dialogi orqali so‘rashi shart. Android Developers, 2024 ma’lumotlariga ko‘ra, foydalanuvchining aniq roziligisiz ilova Android 13 va undan yuqori qurilmalarda bildirishnomalarni ko‘rsata olmaydi.

Asosiy narsalar

  • Notification Permission — bildirishnomalarni yuborish uchun ish vaqti ruxsati, Android 13+ va iOS 12+ da majburiy.
  • Android 13 POST_NOTIFICATIONS ruxsatini joriy qildi, u Activity Result API orqali ish vaqtida so‘ralishi kerak.
  • iOS mahalliy va push bildirishnomalariga kirishni so‘rash uchun UNUserNotificationCenter.requestAuthorization dan foydalanadi.
  • Ruxsatni rad etish ilovaning na mahalliy, na push bildirishnomalarini ko‘rsata olmasligiga olib keladi.
  • Qayta so‘rash birinchi rad etishdan so‘ng mumkin emas — foydalanuvchini tizim sozlamalariga yo‘naltirish kerak.

Notification Permission nima?

Notification Permission — bu ilovaning foydalanuvchiga bildirishnomalar yuborish qobiliyatini tartibga soluvchi tizim ruxsatidir. Android 13 gacha barcha ilovalar so‘rovsiz bildirishnomalarni ko‘rsata olardi — ruxsatni manifestda e’lon qilish kifoya edi. Ammo spam va bezovta qiluvchi bildirishnomalarning ko‘payishi bilan Google iOS dagi kabi majburiy ish vaqti so‘rovini joriy qildi.

iOS da bildirishnoma ruxsati iOS 8 dan majburiy edi va iOS 12 dan boshlab vaqtinchalik (provisional) bildirishnomalar paydo bo‘ldi — ovozsiz yetkaziladigan va aniq so‘rovsiz Bildirishnomalar Markazida ko‘rsatiladigan bildirishnomalar. Vaqtinchalik bildirishnomalar dasturchiga to‘liq ruxsatni so‘rashdan oldin foydalanuvchiga bildirishnomalarning qiymatini ko‘rsatishga imkon beradi.

Localytics (2024) ma’lumotlariga ko‘ra, iOS foydalanuvchilarining 61% va Android foydalanuvchilarining 55% so‘rovdan so‘ng push bildirishnomalarini qabul qiladi. Rozilik konversiyasi bevosita so‘rov kontekstiga bog‘liq: birinchi qimmatli o‘zaro aloqadan so‘ng ruxsat so‘raydigan ilovalar birinchi ishga tushirishda so‘raydiganlarga qaraganda 40% ko‘proq rozilik oladi.

Bildirishnoma ruxsatlarining evolyutsiyasi

Bildirishnoma ruxsatlarining evolyutsiyasi platformalar ilovalarning ushbu aloqa kanaliga kirishini bosqichma-bosqich qanday cheklaganligini ko‘rsatadi. Ushbu evolyutsiyani tushunish dasturchiga operatsion tizimning turli versiyalarini to‘g‘ri boshqarishga yordam beradi.

Android: erkin kirishdan qattiq nazoratgacha

Android 13 (2022) gacha har qanday ilova foydalanuvchining roziligisiz bildirishnomalarni ko‘rsata olardi. Android 8.0 (2017) bildirishnoma kanallarini joriy qildi, Android 12 (2021) bezovta qiluvchi bildirishnomalarni avtomatik bloklashni qo‘shdi va nihoyat Android 13 ish vaqtida POST_NOTIFICATIONS so‘rashni majburiy qildi. targetSdkVersion 33 dan past bo‘lgan ilovalar uchun tizim avtomatik ravishda ruxsat beradi, ammo Google Play 2023 yil avgustidan boshlab targetSdkVersion ni 33+ ga yangilashni talab qiladi.

iOS: izchil nazoratni kuchaytirish

iOS 8 (2014) UIUserNotificationSettings orqali majburiy ruxsat so‘rovini joriy qildi. iOS 10 (2016) boy bildirishnomalarni qo‘llab-quvvatlovchi UNUserNotificationCenter ni taqdim etdi. iOS 12 (2018) vaqtinchalik bildirishnomalar va guruhlangan bildirishnomalarni qo‘shdi. iOS 15 (2021) ilova ruxsatidan qat’i nazar bildirishnomalarni bloklashi mumkin bo‘lgan Focus Mode ni joriy qildi. App Tracking Transparency (iOS 14.5) bildirishnomalar bilan bog‘liq emas, ammo ruxsat so‘rash madaniyatiga ta’sir ko‘rsatdi.

Hozirgi holat

Hozirda ikkala platforma ham Notification Permission ni ish vaqtida so‘rashni talab qiladi. Dasturchi endi bildirishnomalarning avtomatik yoqilishiga tayanishi mumkin emas. Foydalanuvchi qaysi ilovalar uni xabardor qilishi mumkinligini to‘liq nazorat qiladi. Android dagi Notification kanallari va iOS dagi bildirishnoma kategoriyalari foydalanuvchiga olingan bildirishnoma turlarini nozik sozlash imkonini beradi.

Android-da Notification Permission

Android-da Notification Permission manifestda e’lon qilingan POST_NOTIFICATIONS ruxsati orqali amalga oshiriladi va Android 13+ uchun ish vaqti so‘rovi bilan to‘ldiriladi.

Manifestda e’lon qilish

Android 13+ uchun AndroidManifest.xml da POST_NOTIFICATIONS ruxsatini e’lon qilish kerak. Android 12 va undan past bilan orqaga qarab muvofiqlik uchun ruxsat tizim tomonidan avtomatik ravishda beriladi — qo‘shimcha harakatlar talab qilinmaydi.

xml
<uses-permission android:name="android.permission.POST_NOTIFICATIONS" />

Kotlin da ish vaqti so‘rovi

POST_NOTIFICATIONS ruxsati so‘rovi Activity Result API orqali amalga oshiriladi. SDK versiyasini tekshirish muhim: Android 12 va undan pastda so‘rov talab qilinmaydi, ruxsat avtomatik ravishda berilgan deb hisoblanadi.

kotlin
private val notificationPermissionLauncher =
    registerForActivityResult(ActivityResultContracts.RequestPermission()) { granted ->
    if (granted) {
        createNotificationChannel()
        showPushNotification()
    } else {
        logPermissionDenied()
    }
}

fun requestNotificationAccess() {
    if (Build.version.SDK_INT <= Build.VERSION_CODES.S_V2) {
        // Android 12 va undan past — ruxsat avtomatik beriladi
        showNotification()
        return
    }
    if (ContextCompat.checkSelfPermission(this,
        Manifest.permission.POST_NOTIFICATIONS) == PackageManager.PERMISSION_GRANTED) {
        showNotification()
    } else {
        notificationPermissionLauncher.launch(Manifest.permission.POST_NOTIFICATIONS)
    }
}

Bildirishnoma kanallarini yaratish

Android 8.0+ da ilova birinchi bildirishnomani yuborishdan oldin NotificationChannel orqali bildirishnoma kanalini yaratishi kerak. Kanal IMPORTANCE_NONE dan IMPORTANCE_HIGH gacha bo‘lgan ahamiyatga (importance) ega bo‘lib, u bildirishnomaning ovoz bilan va banner sifatida ko‘rsatilishini aniqlaydi. Agar foydalanuvchi ilova uchun bildirishnomalarni o‘chirgan bo‘lsa, yangi kanallar sozlamalarda qayta yoqilgunga qadar ta’sir qilmaydi. Har xil turdagi bildirishnomalar uchun alohida kanallar yaratish tavsiya etiladi: xabarlar, reklama, tizim hodisalari.

kotlin
private fun createNotificationChannel() {
    val channel = NotificationChannel(
        CHANNEL_ID_MESSAGES,
        "Xabarlar",
        NotificationManager.IMPORTANCE_HIGH
    ).apply {
        description = "Yangi xabarlar haqida bildirishnomalar"
        enableVibration = true
    }
    val manager = getSystemService(NotificationManager::class.java)
    manager.createNotificationChannel(channel)
}

iOS-da Notification Permission

iOS-da Notification Permission UNUserNotificationCenter orqali so‘raladi. Apple ikki bosqichli yondashuvni tavsiya qiladi: avval vaqtinchalik bildirishnomalarni so‘rang, so‘ngra qiymatni ko‘rsatgandan keyin to‘liq ruxsatni so‘rang.

Swift da vaqtinchalik opsiya bilan so‘rov

Vaqtinchalik bildirishnomalar — ovoz va bannersiz Bildirishnomalar Markaziga keladigan ovozsiz bildirishnomalardir. Ular foydalanuvchining aniq roziligini talab qilmaydi va ilovaga to‘liq so‘rovdan oldin bildirishnomalarning qiymatini ko‘rsatishga imkon beradi. Bir nechta vaqtinchalik bildirishnomalarni olgandan so‘ng, foydalanuvchi bildirishnomaning o‘zidagi menyu orqali to‘liq bildirishnomalarni yoqishi mumkin.

swift
import UserNotifications

func requestNotificationPermission() {
    let center = UNUserNotificationCenter.current()
    center.requestAuthorization(options: [.alert, .badge, .sound]) { granted, error in
        if let error = error {
            print("Notification error: \(error.localizedDescription)")
            return
        }
        if granted {
            registerForRemoteNotifications()
        } else {
            handleDeniedPermission()
        }
    }
}

func requestProvisionalOnly() {
    let center = UNUserNotificationCenter.current()
    center.requestAuthorization(options: [.provisional, .alert, .badge, .sound]) { granted, error in
        // Provisional — foydalanuvchi dialogni ko'rmaydi
        // Bildirishnomalar Bildirishnomalar Markaziga ovozsiz keladi
        registerForRemoteNotifications()
    }
}

Statusni tekshirish va tizim sozlamalari

iOS da Notification Permission ning joriy holatini UNUserNotificationCenter.current().getNotificationSettings orqali olish mumkin. .authorized, .denied, .provisional yoki .notDetermined holatlari ilovaga to‘g‘ri xatti-harakatni tanlash imkonini beradi. Birinchi rad etishdan so‘ng tizim dialogi qayta ko‘rsatilmaydi — foydalanuvchini UIApplication.openSettingsURLString orqali Sozlamalarga yo‘naltirish kerak. Apple shuningdek, ma’lum stsenariylar uchun vaqtinchalik bildirishnomalarni ta’minlaydigan .ephemeral (iOS 17+) holatini boshqarishni tavsiya qiladi.

Bildirishnoma so‘rashning eng yaxshi amaliyotlari

Eng yaxshi amaliyotlar Notification Permission so‘rovinining rozilik konversiyasini oshirish va foydalanuvchi chiqib ketishini kamaytirishga qaratilgan. Noto‘g‘ri so‘rov nafaqat ilovani bildirishnomalar yuborish imkoniyatidan mahrum qilishi, balki ilovani o‘chirishga ham olib kelishi mumkin.

Birinchi ishga tushirishda so‘ramang

Eng keng tarqalgan anti-na’muna — birinchi ishga tushirishda Notification Permission so‘rash. Foydalanuvchi hali ilovaning qiymatini tushunmaydi va katta ehtimol bilan rad etadi. Optimal vaqt — foydalanuvchi birinchi maqsadli harakatni amalga oshirgandan so‘ng: buyurtma berdi, xabar yubordi, yangilanishlarga obuna bo‘ldi. Qiymatdan keyingi so‘rov rozilik konversiyasini 65-75% gacha oshiradi.

Ruxsatdan oldin ekrandan foydalaning

Tizim dialogidan oldin foydalanuvchi oladigan bildirishnomalar misollari bilan o‘z ekraningizni ko‘rsating. Matn va belgi bilan kelajakdagi bildirishnoma maketini ko‘rsating. Agar foydalanuvchi bildirishnomalar foydali va bezovta qilmaydigan bo‘lishini ko‘rsa, rozi bo‘lish ehtimoli yuqoriroq. Bildirishnoma namunasi oldindan ko‘rsatilgan ekranda konversiyani 35-50% ga oshiradigan samarali texnikadir.

iOS da vaqtinchalik bildirishnomalardan foydalaning

iOS da vaqtinchalik bildirishnomalarning proaktiv so‘rovi foydalanuvchining aniq roziligisiz bildirishnomalarni yetkazish imkonini beradi. Agar foydalanuvchi ushbu bildirishnomalarda qiymat ko‘rsa, bildirishnomaning kontekst menyusi orqali to‘liq bildirishnomalarni yoqishi mumkin. Apple tavsiya qiladi bu yondashuvni yangiliklar, ob-havo va bildirishnomalar informativ bo‘lgan, ammo tranzaksion bo‘lmagan boshqa xizmatlar uchun. Apple WWDC 2024 ma’lumotlariga ko‘ra, bu yondashuv to‘liq rozilik konversiyasini 20-30% ga oshiradi.

Tez-tez so‘raladigan savollar

Agar foydalanuvchi Notification Permission ni rad etgan bo‘lsa, nima qilish kerak?

Rad etishdan so‘ng tizim dialogi qayta ko‘rsatilmaydi. Bildirishnomalarni yoqishning yagona usuli — foydalanuvchini tizim sozlamalariga yo‘naltirish: Android da Intent(Settings.ACTION_APPLICATION_DETAILS_SETTINGS) yoki iOS da UIApplication.openSettingsURLString orqali. Ko‘rsatma va o‘tish tugmasi bilan ekranni ko‘rsating.

Notification Permission Android 12 va undan pastda qanday ishlaydi?

Android 12 va undan pastda Notification Permission talab qilinmaydi — barcha ilovalar so‘rovsiz bildirishnomalar yuborishi mumkin. Biroq, foydalanuvchi istalgan vaqtda tizim sozlamalari orqali bildirishnomalarni o‘chirishi mumkin. Android 13 dan boshlab, ish vaqti so‘rovi targetSdkVersion 33+ uchun majburiy.

Android da bildirishnoma kanallari nima?

NotificationChannel — Android 8.0 da joriy qilingan bildirishnoma kategoriyasi. Har bir kanal nom, tavsif, ahamiyat (importance) va guruhga ega. Foydalanuvchi ilovaning barcha bildirishnomalarini o‘chirmasdan alohida kanallarni o‘chirishi mumkin. Masalan, „Yangi xabarlar” kanali va „Reklamalar” kanali turlicha sozlanishi mumkin.

Notification Permissionsiz bildirishnomalar yuborish mumkinmi?

Android 13+ da POST_NOTIFICATIONSsiz NotificationManager.notify ga har qanday qo‘ng‘iroq tizim tomonidan e’tiborga olinmaydi. iOS da UNUserNotificationCenter ruxsatisiz bildirishnomalar yetkazilmaydi. Istisno: iOS da Provisional (ovozsiz, faqat Bildirishnomalar Markazida) va Android 12- (ruxsat talab qilinmaydi).

Ilova uchun bildirishnomalar yoqilganligini qanday tekshirish mumkin?

Android da NotificationManagerCompat.areNotificationsEnabled() dan foydalaning. iOS da UNUserNotificationCenter.current().getNotificationSettings ni chaqiring va authorizationStatus xususiyatini tekshiring. Android uchun qo‘shimcha ravishda kanal ahamiyatini tekshiring: NotificationChannel.getImportance() IMPORTANCE_NONE bo‘lmasligi kerak.

Xulosa

  • Notification Permission — Android 13+ va iOS 12+ da bildirishnomalar yuborish uchun majburiy ish vaqti ruxsati.
  • Android 13 ish vaqti so‘rovi bilan POST_NOTIFICATIONS ni joriy qildi, Android 12 va undan past uchun ruxsat avtomatik.
  • iOS roziliksiz ovozsiz yetkazish uchun vaqtinchalik bildirishnomalarni qo‘llab-quvvatlovchi UNUserNotificationCenter dan foydalanadi.
  • Qiymatdan keyingi so‘rov — foydalanuvchining birinchi qimmatli harakatidan so‘ng so‘rov rozilik konversiyasini 75% gacha oshiradi.
  • Ruxsatdan oldingi ekran bildirishnoma namunasi bilan konversiyani soha tadqiqotlariga ko‘ra 35-50% ga oshiradi.
  • Vaqtinchalik bildirishnomalar iOS da to‘liq ruxsatni so‘rashdan oldin bildirishnomalarning qiymatini namoyish etish imkonini beradi.
  • Notification kanallari Android da foydalanuvchiga olingan bildirishnoma turlari ustidan nozik nazorat beradi.

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