Notificări Push în dezvoltarea mobilă: esența, tipurile și cum funcționează

Autor: IT Sectr Publicat: 2026-03-15 Timp de citire: 9 min

Notificările push sunt una dintre cele mai eficiente modalități de interacțiune cu utilizatorul după instalarea aplicației. Acestea permit notificarea despre un mesaj nou, reducere, actualizare de conținut sau reamintirea unui coș abandonat. Notificările push (push notifications) funcționează prin servicii cloud: Firebase Cloud Messaging (FCM) pe Android și Apple Push Notification Service (APNS) pe iOS. În acest articol vom analiza arhitectura notificărilor, tipurile lor și procesul de configurare pentru ambele platforme. Mai multe informații în documentația oficială FCM.

Puncte cheie

  • FCM — serviciu universal pentru Android și iOS (prin proxy APNS)
  • APNS — serviciu nativ Apple pentru iOS, macOS, watchOS
  • Notificările Rich conțin conținut media (imagini, butoane, audio) prin App Extensions
  • Silent Push actualizează datele în fundal fără a afișa utilizatorului
  • Device Token — identificator unic al dispozitivului; trebuie stocat și actualizat pe server
  • Notification Channels (Android) și Notification Categories (iOS) — gruparea și personalizarea notificărilor de către utilizator

Ce sunt notificările push?

O notificare push este un mesaj pe care serverul îl trimite unui dispozitiv mobil fără o solicitare din partea aplicației. Mesajul trece printr-un serviciu cloud (FCM sau APNS) care îl livrează dispozitivului chiar dacă aplicația este închisă. Notificările sunt împărțite în două tipuri: notificări de afișare (arătate utilizatorului) și notificări de date (transmit date pentru procesare în fundal).

Arhitectura notificărilor push include trei componente: (1) serverul aplicației — trimite o solicitare către FCM/APNS; (2) serviciul cloud — direcționează notificarea; (3) aplicația client — primește și procesează notificarea. Serverul trebuie să cunoască Device Token-ul dispozitivului pentru a trimite o notificare specifică acestuia. Pentru trimiteri în masă se utilizează Topic Subscription — abonarea dispozitivelor la canale tematice (știri, promoții, vreme).

Pe fiecare dispozitiv, notificările sunt procesate de sistemul de operare: Android — prin NotificationManager și NotificationChannel, iOS — prin UNUserNotificationCenter. Utilizatorul poate configura comportamentul notificărilor pentru fiecare canal: permite sunet, bannere, afișare pe ecranul de blocare sau dezactivare completă. Configurarea corectă a canalelor crește implicarea și reduce rata de dezabonare.

La IT Sectr, proiectăm sistemul de notificări push ținând cont de caracteristicile specifice platformei încă de la început. Decizii cheie: alegerea între FCM și APNS direct, formatul payload-ului, frecvența trimiterii și mecanica abonamentelor. Acest lucru ajută la evitarea situațiilor în care notificările nu ajung sau sunt blocate de sistem.

FCM vs APNS

Firebase Cloud Messaging (FCM) este serviciul multiplatformă al Google pentru livrarea notificărilor. FCM suportă Android, iOS, Web și Flutter. Pe iOS, FCM funcționează prin APNS: FCM trimite o solicitare către APNS, care livrează notificarea către dispozitiv. Avantajele FCM: API unic pentru ambele platforme, analitică integrată, testare A/B, subiecte și segmente de public.

Apple Push Notification Service (APNS) este serviciul nativ Apple. Funcționează doar pe dispozitive Apple (iOS, macOS, watchOS, tvOS). Necesită autorizare directă printr-un certificat TLS sau token (JWT). APNS oferă latență minimă de livrare și integrare directă cu funcțiile iOS: PushKit, Notification Service Extension și alerte critice.

Alegerea între FCM și APNS depinde de arhitectura proiectului. Dacă aplicația este doar pentru iOS — APNS oferă mai mult control. Dacă este multiplatformă — FCM este mai convenabil cu un API unic. Multe proiecte folosesc FCM ca serviciu principal și configurează suplimentar PushKit pentru VoIP pe iOS. O abordare hibridă permite obținerea celor mai bune aspecte din ambele sisteme.

Caracteristică FCM APNS
PlatformeAndroid, iOS, Web, FlutteriOS, macOS, watchOS, tvOS
AutorizareCheie server (Firebase Console)Certificat TLS sau token JWT
Payload maxim4 KB (data), 2 KB (notification)4 KB
SubiecteIntegrate (Topic Messaging)Nu (implementate pe server)
Silent PushSuportatSuportat (content-available)
PushKitNuDa (VoIP, activități live)
AnaliticăFirebase AnalyticsNicio analitică integrată
Livrare pe dispozitiv opritLimitat (depinde de producător)Da, prin PushKit

Tipuri de notificări (Rich, Silent, Interactive)

Rich Notification (Notificare bogată)

O Rich Notification este o notificare care conține nu doar text, ci și conținut media: imagini, video, audio și butoane de acțiune. Pe Android este implementată prin stiluri NotificationCompat: BigPictureStyle (imagine mare), BigTextStyle (text pliat/expandat), InboxStyle (listă de mesaje), MediaStyle (control redare). Pe iOS se utilizează Notification Content Extension — un target separat cu UI personalizat pentru notificarea extinsă.

Silent Push (Notificare silențioasă)

Silent Push (content-available pe iOS) este o notificare livrată fără a fi afișată utilizatorului. Este destinată actualizării datelor în fundal: sincronizare conținut, preîncărcare, actualizare widget-uri. Pe iOS, Silent Push necesită activarea Background Modes → Remote notifications. Pe Android se utilizează FirebaseMessagingService cu onMessageReceived pentru gestionarea notificărilor în fundal. Important: pe iOS, Silent Push are limitări de frecvență și nu garantează livrarea dacă aplicația nu este în prim-plan.

Interactive Notification (Notificare interactivă)

O Interactive Notification permite utilizatorului să efectueze o acțiune fără a deschide aplicația. Pe Android sunt butoane (Action) în notificare: „Răspunde", „Aprobă", „Respinge". Acțiunile sunt procesate prin PendingIntent, care lansează un BroadcastReceiver sau Service. Pe iOS, Notification Action se înregistrează prin UNNotificationAction și UNNotificationCategory. Butoanele pot fi foreground (deschide aplicația), background (execută în fundal) sau destructive (acțiune ireversibilă — șterge, blochează).

Notification Content Extension și Service Extension

Notification Content Extension (iOS) — un controler de vizualizare personalizat pentru afișarea conținutului extins al notificării la apăsare lungă sau 3D Touch. Notification Service Extension (iOS) — middleware pentru modificarea conținutului notificării înainte de afișare: decriptarea mesajelor E2E, încărcarea imaginilor, ofuscarea datelor confidențiale. Pe Android nu există analogi direcți — toate modificările se efectuează în FirebaseMessagingService.

Configurarea notificărilor pe Android și iOS

Configurare pe Android

Pentru Android este necesar: (1) adăugarea Firebase SDK la proiect (google-services.json); (2) crearea unui NotificationChannel (Android 8+) pentru fiecare categorie de notificări; (3) implementarea FirebaseMessagingService pentru primirea token-urilor și mesajelor primite. Notification Channel este obligatoriu — fără el notificările nu vor fi afișate pe Android 8+. Canalele au prioritate (IMPORTANCE_HIGH — sunet + fereastră popup, IMPORTANCE_LOW — fără sunet) și sunt configurabile de utilizator în setările sistemului.

Configurare pe iOS

Pentru iOS este necesar: (1) activarea capacității Push Notifications în Xcode; (2) configurarea cheii APNS pe Apple Developer Portal; (3) solicitarea autorizării prin UNUserNotificationCenter.requestAuthorization — aceasta este o fereastră de dialog de sistem care se afișează o singură dată. Răspunsul utilizatorului este critic: dacă permisiunea nu este acordată, notificările nu vor fi livrate. Se recomandă explicarea utilizatorului de ce sunt necesare notificările înainte de afișarea ferestrei de dialog de sistem (pre-permission prompt).

Instrumente și Token

Device Token (iOS) și Registration Token (Android) sunt identificatori unici ai dispozitivului pentru notificări push. Token-ul este generat la prima lansare a aplicației și se poate schimba: la reinstalare, ștergere date, resetare setări confidențialitate. Serverul trebuie să actualizeze regulat token-urile. Firebase oferă un API convenabil pentru gestionarea token-urilor prin onNewToken, precum și un panou pentru trimiterea de notificări de test (Firebase Console → Cloud Messaging).

Topic Subscription este unul dintre cele mai eficiente mecanisme FCM. Un dispozitiv se abonează la un subiect (de exemplu, "news", "promo_users_ios"), iar serverul trimite notificări pe subiect fără a fi nevoie să stocheze o listă de token-uri. Firebase Topics suportă până la un milion de abonați pe subiect și trimiterea condiționată (Condition) printr-un limbaj de expresii: "'news' in topics && ('US' in topics || 'UK' in topics)".

Notification Payload este structura JSON trimisă prin FCM/APNS. Pentru FCM: notification separat (partea vizibilă — titlu, corp, imagine) și data (câmpuri personalizate pentru aplicație). Pentru APNS: dicționar aps cu alert, badge, sound, category și content-available. Structura corectă a payload-ului este critică: dacă notification + data sosesc simultan, aplicația în fundal poate să nu primească datele. Se recomandă utilizarea numai a mesajelor data pentru Android și transmiterea câmpurilor vizuale separat prin FCM Console.

Întrebări frecvente

Care este diferența dintre FCM și APNS?

FCM (Firebase Cloud Messaging) este serviciul Google pentru Android și notificări multiplatformă. APNS (Apple Push Notification Service) este serviciul Apple doar pentru iOS/macOS. FCM poate livra notificări prin APNS pe iOS, acționând ca un server proxy.

Ce este o Rich Notification?

O Rich Notification este o notificare avansată cu conținut media: imagini, video, audio, butoane de acțiune. Pe iOS este implementată prin Notification Content Extension; pe Android prin BigPictureStyle și InboxStyle.

Cum funcționează Device Token?

Device Token este un identificator unic al dispozitivului pentru trimiterea notificărilor push. Pe Android este Registration Token de la FCM; pe iOS este Device Token de la APNS. Token-ul se poate schimba la reinstalarea aplicației sau resetarea setărilor, deci trebuie actualizat pe server.

Ce este Silent Push și de ce este necesar?

Silent Push (notificare silențioasă) este o notificare fără afișare utilizatorului. Este utilizată pentru actualizări de date în fundal: sincronizare conținut, actualizări widget, preluare în avans. Pe iOS necesită activarea Background Modes → Remote notifications.

Cu ce se diferențiază PushKit de notificările push obișnuite?

PushKit este un framework Apple pentru livrarea notificărilor cu prioritate ridicată utilizat în aplicații VoIP (apeluri, mesagerie). PushKit livrează notificarea chiar dacă aplicația este oprită și garantează lansarea aplicației pentru procesare.

Rezumat

  • FCM — serviciu multiplatformă Google; APNS — serviciu nativ Apple
  • Rich Notification include media și butoane; Silent Push actualizează date fără afișare
  • Notification Channel (Android) și Notification Category (iOS) — obligatorii pentru gruparea notificărilor
  • Device Token — identificator unic; trebuie actualizat regulat pe server
  • Topic Subscription simplifică trimiterile în masă fără stocarea listei de token-uri
  • PushKit — pentru notificări critice (VoIP, alerte vitale)
  • Notification Payload trebuie structurat conform platformei: notification + data pentru FCM, aps pentru APNS

Vom dezvolta o aplicație mobilă la cheie

IT Sectr creează aplicații iOS și Android pentru startup-uri și afaceri din 2017. Vă vom consilia și vă vom propune cea mai bună soluție.

Discutați proiectul