Notification Permission: mi ez, értesítési típusok és működési elv

Szerző: IT Sectr Megjelenés: 2026-05-22 Olvasási idő: 8 perc

Notification Permission — ez az engedély, amelyre az alkalmazásnak szüksége van push értesítések és helyi értesítések küldéséhez a felhasználó számára. Az Android 13 és iOS 12 rendszerektől kezdve az alkalmazások kötelesek ezt az engedélyt futási időben kérni egy rendszerpárbeszédablakon keresztül. A Android Developers, 2024 szerint a felhasználó kifejezett hozzájárulása nélkül az alkalmazás nem jeleníthet meg értesítéseket az Android 13 és újabb rendszerű eszközökön.

Főbb pontok

  • Notification Permission — futási idejű engedély értesítések küldéséhez, kötelező Android 13+ és iOS 12+ rendszereken.
  • Android 13 bevezette a POST_NOTIFICATIONS engedélyt, amelyet futási időben kell kérni az Activity Result API-n keresztül.
  • iOS az UNUserNotificationCenter.requestAuthorization-t használja a helyi és push értesítésekhez való hozzáférés kéréséhez.
  • Az engedély megtagadása azt eredményezi, hogy az alkalmazás sem helyi, sem push értesítéseket nem jeleníthet meg.
  • Újrakérés az első elutasítás után nem lehetséges — át kell irányítani a felhasználót a rendszerbeállításokhoz.

Mi az a Notification Permission?

Notification Permission — ez egy rendszerengedély, amely szabályozza az alkalmazás azon képességét, hogy értesítéseket küldjön a felhasználónak. Android 13-ig minden alkalmazás kérés nélkül jeleníthetett meg értesítéseket — elég volt deklarálni az engedélyt a manifestben. Azonban a spam és a tolakodó értesítések növekedésével a Google kötelező futási idejű kérést vezetett be, hasonlóan az iOS-hez.

Az iOS rendszeren az értesítési engedély kötelező volt iOS 8 óta, és iOS 12-től kezdve megjelentek az ideiglenes (provisional) értesítések — csendes értesítések, amelyek hang nélkül érkeznek és az Értesítési Központban jelennek meg kifejezett kérés nélkül. Az ideiglenes értesítések lehetővé teszik a fejlesztő számára, hogy megmutassa az értesítések értékét a felhasználónak a teljes engedély kérése előtt.

A Localytics (2024) szerint az iOS felhasználók 61%-a és az Android felhasználók 55%-a beleegyezik a push értesítések fogadásába a kérés után. A hozzájárulási arány közvetlenül függ a kérés kontextusától: azok az alkalmazások, amelyek az első értékes interakció után kérik az engedélyt, 40%-kal több beleegyezést kapnak, mint azok, amelyek az első indításkor kérik.

Az értesítési engedélyek fejlődése

Az értesítési engedélyek fejlődése megmutatja, hogyan korlátozták a platformok fokozatosan az alkalmazások hozzáférését ehhez a kommunikációs csatornához. Ennek a fejlődésnek a megértése segíti a fejlesztőt a különböző operációs rendszer verziók helyes kezelésében.

Android: a szabad hozzáféréstől a szigorú ellenőrzésig

Android 13-ig (2022) bármely alkalmazás megjeleníthetett értesítéseket a felhasználó hozzájárulása nélkül. Az Android 8.0 (2017) bevezette az értesítési csatornákat, az Android 12 (2021) hozzáadta a tolakodó értesítések automatikus blokkolását, és végül az Android 13 kötelezővé tette a POST_NOTIFICATIONS futási idejű kérését. Azon alkalmazások számára, amelyek targetSdkVersion-je 33 alatt van, a rendszer automatikusan megadja az engedélyt, de a Google Play 2023 augusztusától megköveteli a targetSdkVersion 33+ verzióra történő frissítését.

iOS: fokozatos ellenőrzés erősítés

Az iOS 8 (2014) bevezette a kötelező engedélykérést az UIUserNotificationSettings-en keresztül. Az iOS 10 (2016) bemutatta az UNUserNotificationCenter-et gazdag értesítések támogatásával. Az iOS 12 (2018) hozzáadta az ideiglenes értesítéseket és a csoportosított értesítéseket. Az iOS 15 (2021) bevezette a Focus Mode-ot, amely az alkalmazás engedélyétől függetlenül blokkolhatja az értesítéseket. Az App Tracking Transparency (iOS 14.5) nem kapcsolódik az értesítésekhez, de szintén befolyásolta az engedélykérési kultúrát.

Jelenlegi állapot

Jelenleg mindkét platform megköveteli a Notification Permission futási idejű kérését. A fejlesztő már nem támaszkodhat az értesítések automatikus bekapcsolására. A felhasználó teljes ellenőrzéssel rendelkezik afelől, hogy mely alkalmazások értesíthetik őt. Az Android értesítési csatornái és az iOS értesítési kategóriái lehetővé teszik a felhasználó számára a fogadott értesítések típusainak pontos beállítását.

Notification Permission Android rendszeren

Notification Permission Android rendszeren a manifestben deklarált POST_NOTIFICATIONS engedélyen keresztül valósul meg, futási idejű kéréssel Android 13+ esetén.

Deklarálás a manifestben

Android 13+ esetén deklarálnia kell a POST_NOTIFICATIONS engedélyt az AndroidManifest.xml fájlban. Az Android 12 és alacsonyabb verziókkal való visszafelé kompatibilitás érdekében az engedélyt a rendszer automatikusan megadja — nincs szükség további műveletekre.

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

Futási idejű kérés Kotlinban

A POST_NOTIFICATIONS engedély kérése az Activity Result API-n keresztül történik. Fontos ellenőrizni az SDK verziót: Android 12 és alacsonyabb verziókon nincs szükség kérésre, az engedély automatikusan megadottnak tekintendő.

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 és alatta — engedély automatikusan megadva
        showNotification()
        return
    }
    if (ContextCompat.checkSelfPermission(this,
        Manifest.permission.POST_NOTIFICATIONS) == PackageManager.PERMISSION_GRANTED) {
        showNotification()
    } else {
        notificationPermissionLauncher.launch(Manifest.permission.POST_NOTIFICATIONS)
    }
}

Értesítési csatornák létrehozása

Android 8.0+ rendszeren az alkalmazásnak létre kell hoznia egy értesítési csatornát a NotificationChannel segítségével az első értesítés elküldése előtt. A csatorna fontossága (importance) IMPORTANCE_NONE-tól IMPORTANCE_HIGH-ig terjed, ami meghatározza, hogy az értesítés hanggal és bannerként jelenjen-e meg. Ha a felhasználó letiltotta az értesítéseket az alkalmazáshoz, az új csatornák nem lesznek hatással a beállításokban történő újra engedélyezésig. Javasolt külön csatornákat létrehozni a különböző típusú értesítésekhez: üzenetek, hirdetések, rendszeresemények.

kotlin
private fun createNotificationChannel() {
    val channel = NotificationChannel(
        CHANNEL_ID_MESSAGES,
        "Üzenetek",
        NotificationManager.IMPORTANCE_HIGH
    ).apply {
        description = "Értesítések új üzenetekről"
        enableVibration = true
    }
    val manager = getSystemService(NotificationManager::class.java)
    manager.createNotificationChannel(channel)
}

Notification Permission iOS rendszeren

Notification Permission iOS rendszeren az UNUserNotificationCenteren keresztül kérhető. Az Apple kétlépcsős megközelítést ajánl: először kérjen ideiglenes értesítéseket, majd az érték bemutatása után teljes engedélyt.

Kérés Swiftben ideiglenes opcióval

Az ideiglenes értesítések csendes értesítések, amelyek hang és banner nélkül érkeznek az Értesítési Központba. Nem igényelnek kifejezett felhasználói hozzájárulást, és lehetővé teszik az alkalmazás számára, hogy megmutassa az értesítések értékét a teljes kérés előtt. Több ideiglenes értesítés fogadása után a felhasználó bekapcsolhatja a teljes értesítéseket az értesítésben található menün keresztül.

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 — a felhasználó nem látja a párbeszédablakot
        // Az értesítések hang nélkül érkeznek az Értesítési Központba
        registerForRemoteNotifications()
    }
}

Státusz ellenőrzése és rendszerbeállítások

A Notification Permission aktuális státusza iOS rendszeren a UNUserNotificationCenter.current().getNotificationSettings segítségével kérdezhető le. Az .authorized, .denied, .provisional vagy .notDetermined státuszok lehetővé teszik az alkalmazás számára a megfelelő viselkedés kiválasztását. Az első elutasítás után a rendszerpárbeszédablak nem jelenik meg újra — át kell irányítani a felhasználót a Beállításokba az UIApplication.openSettingsURLString segítségével. Az Apple azt is ajánlja, hogy kezelje a .ephemeral (iOS 17+) státuszt, amely ideiglenes értesítéseket biztosít bizonyos forgatókönyvekhez.

Legjobb gyakorlatok az értesítések kéréséhez

Legjobb gyakorlatok a Notification Permission kéréséhez célja a hozzájárulási arány növelése és a felhasználói lemorzsolódás csökkentése. A helytelen kérés nem csak megfoszthatja az alkalmazást az értesítések küldésének lehetőségétől, hanem az alkalmazás eltávolításához is vezethet.

Ne kérjen az első indításkor

A leggyakoribb anti-minta — a Notification Permission kérése az alkalmazás első indításakor. A felhasználó még nem érti az alkalmazás értékét, és nagy valószínűséggel elutasítja. Az optimális pillanat — miután a felhasználó végrehajtotta az első célzott műveletet: megrendelést adott le, üzenetet küldött, feliratkozott a frissítésekre. Az érték utáni kérés 65-75%-ra növeli a hozzájárulási arányt.

Használjon engedély előtti képernyőt

A rendszer párbeszédablak előtt jelenítse meg saját képernyőjét a kapott értesítések példáival. Mutassa meg a jövőbeli értesítés makettjét szöveggel és ikonnal. Ha a felhasználó látja, hogy az értesítések hasznosak és nem tolakodóak lesznek, nagyobb valószínűséggel járul hozzá. Az értesítés példája az előzetes képernyőn egy hatékony technika, amely 35-50%-kal növeli a konverziót.

Használjon ideiglenes értesítéseket iOS rendszeren

Az ideiglenes értesítések proaktív kérése iOS rendszeren lehetővé teszi az értesítések kézbesítését a felhasználó kifejezett hozzájárulása nélkül. Ha a felhasználó értéket lát ezekben az értesítésekben, bekapcsolhatja a teljes értesítéseket az értesítés helyi menüjén keresztül. Az Apple ajánlja ezt a megközelítést hír, időjárás és egyéb olyan szolgáltatások számára, ahol az értesítések informatívak, nem tranzakciósak. Az Apple WWDC 2024 szerint ez a megközelítés 20-30%-kal növeli a teljes hozzájárulási arányt.

Gyakran ismételt kérdések

Mit kell tenni, ha a felhasználó megtagadta a Notification Permission-t?

Az elutasítás után a rendszer párbeszédablak nem jelenik meg újra. Az értesítések bekapcsolásának egyetlen módja a felhasználó átirányítása a rendszerbeállításokba: Androidon Intent(Settings.ACTION_APPLICATION_DETAILS_SETTINGS) vagy iOS-en UIApplication.openSettingsURLString segítségével. Jelenítsen meg egy képernyőt útmutatással és navigációs gombbal.

Hogyan működik a Notification Permission Android 12 és alacsonyabb verziókon?

Android 12 és alacsonyabb verziókon a Notification Permission nem szükséges — minden alkalmazás kérés nélkül küldhet értesítéseket. Azonban a felhasználó bármikor letilthatja az értesítéseket a rendszerbeállításokon keresztül. Android 13-tól kezdve a futási idejű kérés kötelező a targetSdkVersion 33+ számára.

Mik az értesítési csatornák Androidon?

NotificationChannel — egy értesítési kategória, amelyet Android 8.0 vezetett be. Minden csatornának van neve, leírása, fontossága (importance) és csoportja. A felhasználó letilthatja az egyes csatornákat anélkül, hogy letiltaná az alkalmazás összes értesítését. Például az „Új üzenetek” és a „Reklámhírlevél” csatornák különbözően konfigurálhatók.

Küldhetek értesítéseket Notification Permission nélkül?

Android 13+ rendszeren POST_NOTIFICATIONS nélkül a NotificationManager.notify bármely hívását figyelmen kívül hagyja a rendszer. iOS rendszeren az UNUserNotificationCenter engedélye nélkül az értesítések nem kézbesíthetők. Kivétel: Provisional iOS-en (hang nélkül, csak az Értesítési Központban) és Android 12- (nem szükséges engedély).

Hogyan ellenőrizhetem, hogy az értesítések be vannak-e kapcsolva az alkalmazáshoz?

Androidon használja a NotificationManagerCompat.areNotificationsEnabled() függvényt. iOS-en hívja meg az UNUserNotificationCenter.current().getNotificationSettings függvényt és ellenőrizze az authorizationStatus tulajdonságot. Androidon ellenőrizze továbbá a csatorna fontosságát: a NotificationChannel.getImportance() ne legyen IMPORTANCE_NONE.

Összefoglaló

  • Notification Permission — kötelező futási idejű engedély értesítések küldéséhez Android 13+ és iOS 12+ rendszereken.
  • Android 13 bevezette a POST_NOTIFICATIONS-t futási idejű kéréssel, Android 12 és alacsonyabb verziókon az engedély automatikus.
  • iOS az UNUserNotificationCenter-et használja ideiglenes értesítések támogatásával csendes kézbesítéshez hozzájárulás nélkül.
  • Az érték utáni kérés — kérés a felhasználó első értékes művelete után 75%-ra növeli a hozzájárulási arányt.
  • Az engedély előtti képernyő értesítési példával 35-50%-kal növeli a konverziót ipari kutatások szerint.
  • Az ideiglenes értesítések iOS-en lehetővé teszik az értesítések értékének bemutatását a teljes engedély kérése előtt.
  • Az értesítési csatornák Androidon granuláris kontrollt biztosítanak a felhasználó számára a kapott értesítések típusai felett.

Kulcsrakész mobilalkalmazást fejlesztünk

Az IT Sectr 2017 óta készít iOS és Android alkalmazásokat induló vállalkozásoknak és vállalkozásoknak. Tanácsot adunk, és a legjobb megoldást javasoljuk.

Projekt megbeszélése

Olvassa el is