Notification Permission: ano ito, mga uri ng notification at prinsipyo ng paggana

May-akda: IT Sectr Nai-publish: 2026-05-22 Oras ng pagbabasa: 8 min

Notification Permission — ito ang pahintulot na kailangan ng app upang magpadala ng mga push notification at lokal na notification sa user. Simula sa Android 13 at iOS 12, ang mga app ay kinakailangang humingi ng pahintulot na ito sa runtime sa pamamagitan ng system dialog. Ayon sa Android Developers, 2024, nang walang malinaw na pahintulot ng user, hindi maaaring magpakita ang app ng mga notification sa mga device na may Android 13 at mas bago.

Mga pangunahing punto

  • Notification Permission — runtime na pahintulot para sa pagpapadala ng mga notification, kinakailangan sa Android 13+ at iOS 12+.
  • Android 13 nagpakilala ng pahintulot na POST_NOTIFICATIONS, na dapat hilingin sa runtime sa pamamagitan ng Activity Result API.
  • iOS gumagamit ng UNUserNotificationCenter.requestAuthorization upang humingi ng access sa lokal at push notification.
  • Pagtanggi sa pahintulot ay nagdudulot na ang app ay hindi maaaring magpakita ng lokal o push notification.
  • Hindi posible ang muling paghingi pagkatapos ng unang pagtanggi — kailangan mong i-redirect ang user sa mga setting ng system.

Ano ang Notification Permission?

Notification Permission — ito ay isang system pahintulot na kumokontrol sa kakayahan ng app na magpadala ng mga notification sa user. Hanggang sa Android 13, lahat ng app ay maaaring magpakita ng mga notification nang hindi humihingi — sapat na upang ideklara ang pahintulot sa manifest. Ngunit sa pagtaas ng spam at nakakainis na mga notification, ipinatupad ng Google ang mandatoryong runtime na paghingi, katulad ng iOS.

Sa iOS, ang pahintulot ng notification ay sapilitan mula pa sa iOS 8, at simula sa iOS 12 ay lumitaw ang mga provisional notification — mga tahimik na notification na inihatid nang walang tunog at ipinapakita sa Notification Center nang walang malinaw na paghingi. Ang mga provisional notification ay nagpapahintulot sa developer na ipakita sa user ang halaga ng mga notification bago humingi ng buong pahintulot.

Ayon sa Localytics (2024), 61% ng mga gumagamit ng iOS at 55% ng mga gumagamit ng Android ay pumapayag na makatanggap ng mga push notification pagkatapos ng paghingi. Ang rate ng conversion ng pahintulot ay direktang nakadepende sa konteksto ng paghingi: ang mga app na humihingi ng pahintulot pagkatapos ng unang mahalagang interaksyon ay nakakakuha ng 40% mas maraming pahintulot kaysa sa mga humihingi sa unang paglunsad.

Ebolusyon ng mga pahintulot ng notification

Ebolusyon ng mga pahintulot ng notification ay nagpapakita kung paano unti-unting nilimitahan ng mga platform ang access ng mga app sa channel na ito ng komunikasyon. Ang pag-unawa sa ebolusyong ito ay tumutulong sa developer na mahawakan nang tama ang iba’t ibang bersyon ng operating system.

Android: mula sa malayang access hanggang sa mahigpit na kontrol

Hanggang sa Android 13 (2022), anumang app ay maaaring magpakita ng mga notification nang walang pahintulot ng user. Android 8.0 (2017) nagpakilala ng mga channel ng notification, Android 12 (2021) nagdagdag ng awtomatikong pag-block ng mga nakakainis na notification, at sa wakas Android 13 ay nag-atas ng paghingi ng POST_NOTIFICATIONS sa runtime. Para sa mga app na ang targetSdkVersion ay mas mababa sa 33, awtomatikong nagbibigay ang system ng pahintulot, ngunit ang Google Play ay nangangailangan ng pag-update ng targetSdkVersion sa 33+ mula noong Agosto 2023.

iOS: unti-unting pagpapalakas ng kontrol

iOS 8 (2014) nagpakilala ng mandatoryong paghingi ng pahintulot sa pamamagitan ng UIUserNotificationSettings. iOS 10 (2016) nagpakilala ng UNUserNotificationCenter na may suporta para sa rich notifications. iOS 12 (2018) nagdagdag ng provisional notification at grouped notification. iOS 15 (2021) nagpakilala ng Focus Mode, na maaaring mag-block ng mga notification anuman ang pahintulot ng app. App Tracking Transparency (iOS 14.5) ay hindi nauugnay sa mga notification ngunit nakaimpluwensya rin sa pangkalahatang kultura ng paghingi ng pahintulot.

Kasalukuyang estado

Sa kasalukuyan, ang parehong platform ay nangangailangan ng paghingi ng Notification Permission sa runtime. Hindi na maaaring umasa ang developer sa awtomatikong pag-activate ng mga notification. Ang user ay may ganap na kontrol sa kung aling mga app ang maaaring mag-notify sa kanila. Ang mga channel ng notification sa Android at mga kategorya ng notification sa iOS ay nagpapahintulot sa user na tumpak na ayusin ang mga uri ng natatanggap na notification.

Notification Permission sa Android

Notification Permission sa Android ay isinasagawa sa pamamagitan ng pahintulot na POST_NOTIFICATIONS, na idineklara sa manifest, na may runtime na paghingi para sa Android 13+.

Deklarasyon sa manifest

Para sa Android 13+ kailangan mong ideklara ang pahintulot na POST_NOTIFICATIONS sa AndroidManifest.xml. Para sa backward compatibility sa Android 12 at mas mababa, ang pahintulot ay awtomatikong ibinibigay ng system — walang karagdagang aksyon ang kinakailangan.

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

Runtime na paghingi sa Kotlin

Ang paghingi ng pahintulot na POST_NOTIFICATIONS ay isinasagawa sa pamamagitan ng Activity Result API. Mahalagang suriin ang bersyon ng SDK: sa Android 12 at mas mababa, hindi kinakailangan ang paghingi, ang pahintulot ay itinuturing na awtomatikong ibinigay.

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 pababa — awtomatikong ibinigay ang pahintulot
        showNotification()
        return
    }
    if (ContextCompat.checkSelfPermission(this,
        Manifest.permission.POST_NOTIFICATIONS) == PackageManager.PERMISSION_GRANTED) {
        showNotification()
    } else {
        notificationPermissionLauncher.launch(Manifest.permission.POST_NOTIFICATIONS)
    }
}

Paglikha ng mga channel ng notification

Sa Android 8.0+, ang app ay dapat lumikha ng isang channel ng notification sa pamamagitan ng NotificationChannel bago magpadala ng unang notification. Ang channel ay may kahalagahan (importance) mula IMPORTANCE_NONE hanggang IMPORTANCE_HIGH, na tumutukoy kung ang notification ay ipapakita nang may tunog at bilang banner. Kung hindi pinagana ng user ang mga notification para sa app, ang mga bagong channel ay hindi magkakaroon ng epekto hanggang sa muling pag-enable sa mga setting. Inirerekomenda na lumikha ng magkakahiwalay na channel para sa iba’t ibang uri ng notification: mga mensahe, advertisement, mga kaganapan sa system.

kotlin
private fun createNotificationChannel() {
    val channel = NotificationChannel(
        CHANNEL_ID_MESSAGES,
        "Mga Mensahe",
        NotificationManager.IMPORTANCE_HIGH
    ).apply {
        description = "Mga notification tungkol sa mga bagong mensahe"
        enableVibration = true
    }
    val manager = getSystemService(NotificationManager::class.java)
    manager.createNotificationChannel(channel)
}

Notification Permission sa iOS

Notification Permission sa iOS ay hinihingi sa pamamagitan ng UNUserNotificationCenter. Inirerekomenda ng Apple ang dalawang-hakbang na diskarte: una humingi ng provisional notification, pagkatapos, pagkatapos maipakita ang halaga, buong pahintulot.

Paghingi sa Swift na may provisional option

Ang mga provisional notification ay mga tahimik na notification na pumapasok sa Notification Center nang walang tunog at banner. Hindi sila nangangailangan ng malinaw na pahintulot ng user at pinapayagan ang app na ipakita ang halaga ng mga notification bago ang buong paghingi. Pagkatapos makatanggap ng ilang provisional notification, maaaring i-enable ng user ang buong notification sa pamamagitan ng menu sa mismong notification.

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 — hindi nakikita ng user ang dialog
        // Dumating ang mga notification nang walang tunog sa Notification Center
        registerForRemoteNotifications()
    }
}

Pagsusuri ng status at mga setting ng system

Ang kasalukuyang status ng Notification Permission sa iOS ay maaaring makuha sa pamamagitan ng UNUserNotificationCenter.current().getNotificationSettings. Ang mga status na .authorized, .denied, .provisional o .notDetermined ay nagpapahintulot sa app na pumili ng tamang pag-uugali. Pagkatapos ng unang pagtanggi, ang system dialog ay hindi na muling ipinapakita — kailangan mong i-redirect ang user sa Mga Setting sa pamamagitan ng UIApplication.openSettingsURLString. Inirerekomenda rin ng Apple ang paghawak ng status na .ephemeral (iOS 17+), na nagbibigay ng pansamantalang notification para sa mga partikular na senaryo.

Pinakamahusay na kasanayan sa paghingi ng notification

Pinakamahusay na kasanayan sa paghingi ng Notification Permission ay naglalayong pataasin ang rate ng conversion ng pahintulot at bawasan ang pag-alis ng user. Ang maling paghingi ay hindi lamang maaaring mag-alis sa app ng kakayahang magpadala ng mga notification, kundi pati na rin humantong sa pag-alis ng app.

Huwag humingi sa unang paglunsad

Ang pinakakaraniwang anti-pattern — paghingi ng Notification Permission sa unang paglunsad ng app. Hindi pa nauunawaan ng user ang halaga ng app at malaki ang posibilidad na tumanggi. Ang pinakamainam na sandali — pagkatapos gawin ng user ang unang target na aksyon: nag-order, nagpadala ng mensahe, nag-subscribe sa mga update. Post-value prompt ay nagpapataas ng rate ng conversion ng pahintulot sa 65-75%.

Gumamit ng pre-permission screen

Bago ang system dialog, magpakita ng sarili mong screen na may mga halimbawa ng notification na matatanggap ng user. Magpakita ng mockup ng hinaharap na notification na may text at icon. Kung makita ng user na ang mga notification ay magiging kapaki-pakinabang at hindi nakakainis, mas malamang na pumayag sila. Halimbawa ng notification sa paunang screen ay isang mabisang teknik na nagpapataas ng conversion ng 35-50%.

Gumamit ng mga provisional notification sa iOS

Ang proactive na paghingi ng Provisional Notification sa iOS ay nagpapahintulot sa paghahatid ng mga notification nang walang malinaw na pahintulot ng user. Kung makita ng user ang halaga sa mga notification na ito, maaari nilang i-enable ang buong notification sa pamamagitan ng context menu ng notification. Inirerekomenda ng Apple ang diskarteng ito para sa mga app ng balita, panahon, at iba pang serbisyo kung saan ang mga notification ay impormatibo, hindi transaksyonal. Ayon sa Apple WWDC 2024, ang diskarteng ito ay nagpapataas ng rate ng conversion ng buong pahintulot ng 20-30%.

Mga madalas itanong

Ano ang gagawin kung tinanggihan ng user ang Notification Permission?

Pagkatapos ng pagtanggi, ang system dialog ay hindi na muling ipinapakita. Ang tanging paraan upang i-enable ang mga notification ay i-redirect ang user sa mga setting ng system sa pamamagitan ng Intent(Settings.ACTION_APPLICATION_DETAILS_SETTINGS) sa Android o UIApplication.openSettingsURLString sa iOS. Magpakita ng screen na may mga tagubilin at button para sa pag-navigate.

Paano gumagana ang Notification Permission sa Android 12 at mas mababa?

Sa Android 12 at mas mababa, hindi kinakailangan ang Notification Permission — lahat ng app ay maaaring magpadala ng mga notification nang hindi humihingi. Gayunpaman, maaaring i-disable ng user ang mga notification anumang oras sa pamamagitan ng mga setting ng system. Simula sa Android 13, ang runtime na paghingi ay sapilitan para sa targetSdkVersion 33+.

Ano ang mga channel ng notification sa Android?

NotificationChannel — ay isang kategorya ng notification na ipinakilala sa Android 8.0. Bawat channel ay may pangalan, paglalarawan, kahalagahan (importance), at grupo. Maaaring i-disable ng user ang mga indibidwal na channel nang hindi dinidisable ang lahat ng notification ng app. Halimbawa, ang channel na „Mga bagong mensahe” at channel na „Advertorial newsletter” ay maaaring i-configure nang magkaiba.

Maaari ba akong magpadala ng mga notification nang walang Notification Permission?

Sa Android 13+ nang walang POST_NOTIFICATIONS, anumang tawag sa NotificationManager.notify ay hindi papansinin ng system. Sa iOS nang walang pahintulot ng UNUserNotificationCenter, ang mga notification ay hindi naihahatid. Pagbubukod: Provisional sa iOS (walang tunog, sa Notification Center lamang) at Android 12- (hindi kinakailangan ang pahintulot).

Paano suriin kung ang mga notification ay naka-enable para sa app?

Sa Android gamitin ang NotificationManagerCompat.areNotificationsEnabled(). Sa iOS tawagan ang UNUserNotificationCenter.current().getNotificationSettings at suriin ang property na authorizationStatus. Para sa Android, suriin din ang kahalagahan ng channel: ang NotificationChannel.getImportance() ay hindi dapat IMPORTANCE_NONE.

Buod

  • Notification Permission — sapilitang runtime na pahintulot para sa pagpapadala ng mga notification sa Android 13+ at iOS 12+.
  • Android 13 nagpakilala ng POST_NOTIFICATIONS na may runtime na paghingi, para sa Android 12 at mas mababa awtomatiko ang pahintulot.
  • iOS gumagamit ng UNUserNotificationCenter na may suporta para sa provisional notification para sa tahimik na paghahatid nang walang pahintulot.
  • Post-value prompt — paghingi pagkatapos ng unang mahalagang aksyon ng user ay nagpapataas ng rate ng conversion ng pahintulot sa 75%.
  • Pre-permission screen na may halimbawa ng notification ay nagpapataas ng conversion ng 35-50% ayon sa pananaliksik sa industriya.
  • Mga provisional notification sa iOS ay nagpapahintulot sa pagpapakita ng halaga ng mga notification bago humingi ng buong pahintulot.
  • Mga channel ng notification sa Android ay nagbibigay sa user ng granular na kontrol sa mga uri ng natatanggap na notification.

Gagawa kami ng mobile application na turnkey

Gumagawa ang IT Sectr ng mga iOS at Android application para sa mga startup at negosyo mula noong 2017. Magpapayo kami sa iyo at magmumungkahi ng pinakamahusay na solusyon.

Pag-usapan ang proyekto

Basahin din