Push-értesítések a mobilfejlesztésben: lényeg, típusok és működés

Szerző: IT Sectr Megjelenés: 2026-03-15 Olvasási idő: 9 perc

A push-értesítések az egyik leghatékonyabb módja a felhasználókkal való interakciónak az alkalmazás telepítése után. Lehetővé teszik, hogy értesítsenek egy új üzenetről, kedvezményről, tartalomfrissítésről vagy emlékeztessenek egy elhagyott kosárra. A push-értesítések (push notifications) felhőszolgáltatásokon keresztül működnek: Firebase Cloud Messaging (FCM) Androidon és Apple Push Notification Service (APNS) iOS-en. Ebben a cikkben elemezzük az értesítések architektúráját, típusaikat és a beállítási folyamatot mindkét platformon. További információ — az FCM hivatalos dokumentációjában.

Főbb pontok

  • FCM — univerzális szolgáltatás Androidra és iOS-re (APNS-proxyn keresztül)
  • APNS — natív Apple szolgáltatás iOS, macOS, watchOS rendszerekhez
  • A Rich Notifications médiatartalmat (képek, gombok, hang) tartalmaznak App Extensions-en keresztül
  • A Silent Push a háttérben frissíti az adatokat anélkül, hogy megjelenítené a felhasználónak
  • Device Token — egyedi eszközazonosító; tárolni és frissíteni kell a szerveren
  • Notification Channels (Android) és Notification Categories (iOS) — az értesítések csoportosítása és testreszabása a felhasználó által

Mik azok a push-értesítések?

A push-értesítés egy olyan üzenet, amelyet a szerver az alkalmazás kérése nélkül küld egy mobileszközre. Az üzenet egy felhőszolgáltatáson (FCM vagy APNS) halad keresztül, amely akkor is kézbesíti az eszközre, ha az alkalmazás be van zárva. Az értesítések két típusra oszlanak: megjelenítési értesítések (megjelennek a felhasználónak) és adatértesítések (adatokat továbbítanak háttérfeldolgozásra).

A push-értesítések architektúrája három összetevőből áll: (1) az alkalmazásszerver — kérést küld az FCM/APNS felé; (2) a felhőszolgáltatás — útvonalazza az értesítést; (3) a kliensalkalmazás — fogadja és feldolgozza az értesítést. A szervernek ismernie kell az eszköz Device Token-jét, hogy pontosan annak küldje az értesítést. Tömeges küldéshez Topic Subscription-t használnak — az eszközök tematikus csatornákra (hírek, akciók, időjárás) történő feliratkozását.

Minden eszközön az értesítéseket az operációs rendszer dolgozza fel: Android — NotificationManager és NotificationChannel segítségével, iOS — UNUserNotificationCenter segítségével. A felhasználó minden csatornához beállíthatja az értesítések viselkedését: hang engedélyezése, banner, megjelenítés a zárolási képernyőn vagy teljes letiltás. A csatornák helyes beállítása növeli az elköteleződést és csökkenti a leiratkozások számát.

Az IT Sectr-nél a push-értesítési rendszert a kezdetektől fogva a platform-specifikus jellemzők figyelembevételével tervezzük. Kulcsfontosságú döntések: választás az FCM és a közvetlen APNS között, a payload formátuma, a küldés gyakorisága és a feliratkozási mechanika. Ez segít elkerülni azokat a helyzeteket, amikor az értesítések nem érkeznek meg, vagy a rendszer blokkolja azokat.

FCM vs APNS

A Firebase Cloud Messaging (FCM) a Google cross-platform szolgáltatása az értesítések kézbesítésére. Az FCM támogatja az Android, iOS, Web és Flutter rendszereket. iOS-en az FCM az APNS-en keresztül működik: az FCM kérést küld az APNS-nek, amely kézbesíti az értesítést az eszközre. Az FCM előnyei: egyetlen API mindkét platformhoz, beépített analitika, A/B tesztelés, témák és közönségszegmensek.

Az Apple Push Notification Service (APNS) az Apple natív szolgáltatása. Csak Apple eszközökön működik (iOS, macOS, watchOS, tvOS). Közvetlen hitelesítést igényel TLS-tanúsítványon vagy tokenen (JWT) keresztül. Az APNS biztosítja a minimális kézbesítési késleltetést és a közvetlen integrációt az iOS funkciókkal: PushKit, Notification Service Extension és kritikus riasztások.

Az FCM és az APNS közötti választás a projekt architektúrájától függ. Ha az alkalmazás csak iOS-re készül — az APNS nagyobb vezérlést biztosít. Ha cross-platform — az FCM kényelmesebb az egyetlen API-val. Sok projekt az FCM-et használja elsődleges szolgáltatásként, és iOS-en emellett PushKit-et konfigurál a VoIP-hez. A hibrid megközelítés lehetővé teszi, hogy mindkét rendszerből a legjobbat kapjuk.

Jellemző FCM APNS
PlatformokAndroid, iOS, Web, FlutteriOS, macOS, watchOS, tvOS
HitelesítésServer Key (Firebase Console)TLS tanúsítvány vagy JWT token
Maximális payload4 KB (data), 2 KB (notification)4 KB
TémákBeépített (Topic Messaging)Nincs (szerver oldalon implementálva)
Silent PushTámogatottTámogatott (content-available)
PushKitNincsIgen (VoIP, élő tevékenységek)
AnalitikaFirebase AnalyticsNincs beépített
Kézbesítés kikapcsolt eszközreKorlátozott (gyártófüggő)Igen, PushKit-en keresztül

Értesítések típusai (Rich, Silent, Interactive)

Rich Notification (Gazdag értesítés)

A Rich Notification olyan értesítés, amely nem csak szöveget, hanem médiatartalmat is tartalmaz: képeket, videókat, hangot és műveleti gombokat. Androidon NotificationCompat stílusokkal implementálható: BigPictureStyle (nagy kép), BigTextStyle (összecsukott/kibontott szöveg), InboxStyle (üzenetlista), MediaStyle (lejátszás vezérlés). iOS-en Notification Content Extension használatos — egy külön target egyedi UI-val a kibontott értesítéshez.

Silent Push (Csendes értesítés)

A Silent Push (content-available iOS-en) egy olyan értesítés, amelyet a felhasználónak történő megjelenítés nélkül kézbesítenek. Háttérbeli adatfrissítésre szolgál: tartalomszinkronizálás, előtöltés, widget-frissítések. iOS-en a Silent Push-hoz engedélyezni kell a Background Modes → Remote notifications funkciót. Androidon a háttérbeli értesítések kezelésére FirebaseMessagingService használatos onMessageReceived-del. Fontos: iOS-en a Silent Push gyakorisági korlátozásokkal rendelkezik, és nem garantálja a kézbesítést, ha az alkalmazás nincs az előtérben.

Interactive Notification (Interaktív értesítés)

Az Interactive Notification lehetővé teszi a felhasználó számára, hogy az alkalmazás megnyitása nélkül hajtson végre egy műveletet. Androidon ezek gombok (Action) az értesítésben: "Válaszol", "Jóváhagy", "Elutasít". A műveletek PendingIntent-en keresztül kerülnek feldolgozásra, amely elindít egy BroadcastReceiver-t vagy Service-t. iOS-en a Notification Action regisztrálása UNNotificationAction és UNNotificationCategory segítségével történik. A gombok lehetnek foreground (megnyitja az alkalmazást), background (háttérben fut) vagy destructive (visszafordíthatatlan művelet — törlés, blokkolás).

Notification Content Extension és Service Extension

Notification Content Extension (iOS) — egy egyedi nézetvezérlő a kibontott értesítési tartalom megjelenítéséhez hosszú lenyomásra vagy 3D Touch-ra. Notification Service Extension (iOS) — köztes réteg az értesítési tartalom módosításához a megjelenítés előtt: E2E üzenetek visszafejtése, képek betöltése, bizalmas adatok elhomályosítása. Androidon nincs közvetlen analóg — minden módosítás a FirebaseMessagingService-ben történik.

Értesítések beállítása Androidon és iOS-en

Beállítás Androidon

Androidhoz szükséges: (1) Firebase SDK hozzáadása a projekthez (google-services.json); (2) NotificationChannel (Android 8+) létrehozása minden értesítési kategóriához; (3) FirebaseMessagingService implementálása a tokenek és bejövő üzenetek fogadásához. Notification Channel kötelező — nélküle az értesítések nem jelennek meg Android 8+-on. A csatornáknak prioritásuk van (IMPORTANCE_HIGH — hang + felugró ablak, IMPORTANCE_LOW — hang nélkül), és a felhasználó a rendszerbeállításokban konfigurálhatja őket.

Beállítás iOS-en

iOS-hez szükséges: (1) a Push Notifications képesség engedélyezése Xcode-ban; (2) az APNS kulcs konfigurálása az Apple Developer Portalon; (3) engedély kérése az UNUserNotificationCenter.requestAuthorization segítségével — ez egy egyszer megjelenő rendszerpárbeszédablak. A felhasználó válasza kritikus: ha az engedélyt nem adják meg, az értesítések nem lesznek kézbesítve. Javasolt elmagyarázni a felhasználónak, miért van szükség az értesítésekre a rendszerpárbeszédablak megjelenítése előtt (pre-permission prompt).

Eszközök és Token

Device Token (iOS) és Registration Token (Android) egyedi eszközazonosítók a push-értesítésekhez. A token az alkalmazás első indításakor jön létre, és változhat: újratelepítés, adatok törlése, adatvédelmi beállítások visszaállítása esetén. A szervernek rendszeresen frissítenie kell a tokeneket. A Firebase biztosítja a tokenek kezeléséhez szükséges kényelmes API-t az onNewToken segítségével, valamint egy panelt a tesztértesítések küldéséhez (Firebase Console → Cloud Messaging).

A Topic Subscription az FCM egyik leghatékonyabb mechanizmusa. Egy eszköz feliratkozik egy témára (pl. "news", "promo_users_ios"), és a szerver téma szerint küld értesítéseket anélkül, hogy tárolnia kellene a tokenek listáját. A Firebase Topics témánként akár egymillió feliratkozót és feltételes küldést (Condition) támogat egy kifejezésnyelven keresztül: "'news' in topics && ('US' in topics || 'UK' in topics)".

A Notification Payload az FCM/APNS-en keresztül küldött JSON struktúra. FCM esetén: külön notification (látható rész — cím, törzs, kép) és data (egyedi mezők az alkalmazáshoz). APNS esetén: aps szótár alert, badge, sound, category és content-available elemekkel. A payload helyes struktúrája kritikus: ha a notification + data egyszerre érkezik, a háttérben lévő alkalmazás esetleg nem kapja meg a data-t. Javasolt csak data üzeneteket használni Androidhoz, és a vizuális mezőket külön átadni az FCM Console segítségével.

Gyakran ismételt kérdések

Mi a különbség az FCM és az APNS között?

Az FCM (Firebase Cloud Messaging) a Google szolgáltatása Androidra és cross-platform értesítésekhez. Az APNS (Apple Push Notification Service) az Apple szolgáltatása csak iOS/macOS rendszerekhez. Az FCM képes értesítéseket kézbesíteni az APNS-en keresztül iOS-en, proxyszerverként működve.

Mi az a Rich Notification?

A Rich Notification egy továbbfejlesztett értesítés médiatartalommal: képek, videók, hang, műveleti gombok. iOS-en Notification Content Extension segítségével implementálható; Androidon a BigPictureStyle és InboxStyle segítségével.

Hogyan működik a Device Token?

A Device Token egy egyedi eszközazonosító a push-értesítések küldéséhez. Androidon ez a Registration Token az FCM-től; iOS-en a Device Token az APNS-től. A token változhat az alkalmazás újratelepítésekor vagy a beállítások visszaállításakor, ezért frissíteni kell a szerveren.

Mi az a Silent Push és miért van rá szükség?

A Silent Push (csendes értesítés) egy olyan értesítés, amely nem jelenik meg a felhasználónak. Háttérbeli adatfrissítésekhez használatos: tartalomszinkronizálás, widget-frissítések, előzetes lekérés. iOS-en engedélyezni kell a Background Modes → Remote notifications funkciót.

Miben különbözik a PushKit a szokásos push-értesítésektől?

A PushKit egy Apple keretrendszer a magas prioritású értesítések kézbesítésére, amelyet VoIP alkalmazásokban (hívások, üzenetküldők) használnak. A PushKit kézbesíti az értesítést akkor is, ha az alkalmazás le van zárva, és garantálja az alkalmazás elindítását a feldolgozáshoz.

Összefoglalás

  • FCM — Google cross-platform szolgáltatása; APNS — Apple natív szolgáltatása
  • Rich Notification médiát és gombokat tartalmaz; Silent Push adatokat frissít megjelenítés nélkül
  • Notification Channel (Android) és Notification Category (iOS) — kötelező az értesítések csoportosításához
  • Device Token — egyedi azonosító; rendszeresen frissíteni kell a szerveren
  • Topic Subscription leegyszerűsíti a tömeges küldést a tokenlista tárolása nélkül
  • PushKit — kritikus értesítésekhez (VoIP, életfontosságú riasztások)
  • Notification Payload-ot a platformnak megfelelően kell strukturálni: notification + data az FCM-hez, aps az APNS-hez

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