Push Notification sa Mobile Development: esensya, mga uri at kung paano gumagana

May-akda: IT Sectr Nai-publish: 2026-03-15 Oras ng pagbabasa: 9 min

Ang mga push notification ay isa sa mga pinakamabisang paraan upang makipag-ugnayan sa user pagkatapos mag-install ng app. Pinapayagan nitong magpaalam tungkol sa bagong mensahe, diskwento, pag-update ng nilalaman o magpaalala tungkol sa nakalimutang cart. Push notification (push notifications) gumagana sa pamamagitan ng mga cloud service: Firebase Cloud Messaging (FCM) sa Android at Apple Push Notification Service (APNS) sa iOS. Sa artikulong ito, susuriin natin ang arkitektura ng notification, mga uri nito at proseso ng pag-set up para sa parehong platform. Higit pang impormasyon — sa opisyal na dokumentasyon ng FCM.

Mga Pangunahing Punto

  • FCM — unibersal na serbisyo para sa Android at iOS (sa pamamagitan ng APNS proxy)
  • APNS — native na serbisyo ng Apple para sa iOS, macOS, watchOS
  • Ang Rich Notifications ay naglalaman ng media content (mga larawan, button, audio) sa pamamagitan ng App Extensions
  • Ang Silent Push ay nag-a-update ng data sa background nang hindi ipinapakita sa user
  • Device Token — natatanging identifier ng device; kailangang i-imbak at i-update sa server
  • Notification Channels (Android) at Notification Categories (iOS) — pagpapangkat at pag-customize ng notification ng user

Ano ang mga push notification?

Ang push notification ay isang mensahe na ipinapadala ng server sa isang mobile device nang walang kahilingan mula sa app. Ang mensahe ay dumadaan sa isang cloud service (FCM o APNS) na naghahatid nito sa device kahit na sarado ang app. Ang mga notification ay nahahati sa dalawang uri: display notification (ipinapakita sa user) at data notification (nagpapadala ng data para sa background processing).

Ang arkitektura ng push notification ay may tatlong bahagi: (1) app server — nagpapadala ng kahilingan sa FCM/APNS; (2) cloud service — nagruruta ng notification; (3) client app — tumatanggap at nagpoproseso ng notification. Dapat alam ng server ang Device Token ng device upang magpadala ng notification partikular dito. Para sa mass sending, ginagamit ang Topic Subscription — pag-subscribe ng mga device sa mga tematikong channel (balita, promo, panahon).

Sa bawat device, ang mga notification ay pinoproseso ng operating system: Android — sa pamamagitan ng NotificationManager at NotificationChannel, iOS — sa pamamagitan ng UNUserNotificationCenter. Maaaring i-configure ng user ang gawi ng notification para sa bawat channel: payagan ang tunog, banner, pagpapakita sa Lock Screen, o ganap na huwag paganahin. Ang tamang configuration ng channel ay nagpapataas ng engagement at nagpapababa ng rate ng pag-unsubscribe.

Sa IT Sectr, dinisenyo namin ang push notification system na isinasaalang-alang ang mga platform-specific na feature mula pa sa simula. Mga pangunahing desisyon: pagpili sa pagitan ng FCM at direktang APNS, format ng payload, dalas ng pagpapadala, at mekanika ng subscription. Ito ay nakakatulong upang maiwasan ang mga sitwasyon kung saan hindi dumarating ang mga notification o hinarang ng system.

FCM vs APNS

Ang Firebase Cloud Messaging (FCM) ay cross-platform na serbisyo ng Google para sa paghahatid ng notification. Sinusuportahan ng FCM ang Android, iOS, Web at Flutter. Sa iOS, gumagana ang FCM sa pamamagitan ng APNS: nagpapadala ang FCM ng kahilingan sa APNS, na naghahatid ng notification sa device. Mga bentahe ng FCM: nag-iisang API para sa parehong platform, built-in analytics, A/B testing, mga paksa at segment ng audience.

Ang Apple Push Notification Service (APNS) ay native na serbisyo ng Apple. Gumagana lamang sa mga Apple device (iOS, macOS, watchOS, tvOS). Nangangailangan ng direktang awtorisasyon sa pamamagitan ng TLS certificate o token (JWT). Ang APNS ay nagbibigay ng minimal na delivery latency at direktang integration sa mga iOS feature: PushKit, Notification Service Extension at Critical Alerts.

Ang pagpili sa pagitan ng FCM at APNS ay depende sa arkitektura ng proyekto. Kung ang app ay para sa iOS lamang — ang APNS ay nagbibigay ng higit na kontrol. Kung cross-platform — ang FCM ay mas maginhawa sa nag-iisang API. Maraming proyekto ang gumagamit ng FCM bilang pangunahing serbisyo at nagko-configure ng karagdagang PushKit para sa VoIP sa iOS. Ang hybrid approach ay nagbibigay-daan upang makuha ang pinakamahusay mula sa parehong sistema.

Katangian FCM APNS
PlatformAndroid, iOS, Web, FlutteriOS, macOS, watchOS, tvOS
AwtorisasyonServer Key (Firebase Console)TLS certificate o JWT token
Max payload4 KB (data), 2 KB (notification)4 KB
Mga paksaBuilt-in (Topic Messaging)Wala (implement sa server-side)
Silent PushSinusuportahanSinusuportahan (content-available)
PushKitWalaOo (VoIP, live activities)
AnalyticsFirebase AnalyticsWalang built-in
Delivery sa patay na deviceLimitado (depende sa manufacturer)Oo, sa pamamagitan ng PushKit

Mga uri ng notification (Rich, Silent, Interactive)

Rich Notification (Mayamang notification)

Ang Rich Notification ay isang notification na naglalaman hindi lamang ng text kundi pati na rin ng media content: mga larawan, video, audio at action button. Sa Android ito ay implementado sa pamamagitan ng NotificationCompat styles: BigPictureStyle (malaking larawan), BigTextStyle (naka-collapse/expanded na text), InboxStyle (listahan ng mensahe), MediaStyle (kontrol sa playback). Sa iOS ginagamit ang Notification Content Extension — isang hiwalay na target na may custom UI para sa expanded notification.

Silent Push (Tahimik na notification)

Ang Silent Push (content-available sa iOS) ay isang notification na inihahatid nang hindi ipinapakita sa user. Ito ay para sa background data update: content synchronization, preloading, widget updates. Sa iOS, ang Silent Push ay nangangailangan ng pag-enable ng Background Modes → Remote notifications. Sa Android para sa paghawak ng background notification ay ginagamit ang FirebaseMessagingService na may onMessageReceived. Mahalaga: sa iOS, ang Silent Push ay may mga limitasyon sa dalas at hindi ginagarantiyahan ang paghahatid kung ang app ay hindi nasa foreground.

Interactive Notification (Interaktibong notification)

Ang Interactive Notification ay nagpapahintulot sa user na magsagawa ng aksyon nang hindi binubuksan ang app. Sa Android ito ay mga button (Action) sa notification: "Tumugon", "Aprubahan", "Tanggihan". Ang mga aksyon ay pinoproseso sa pamamagitan ng PendingIntent, na naglulunsad ng BroadcastReceiver o Service. Sa iOS, ang Notification Action ay nirerehistro sa pamamagitan ng UNNotificationAction at UNNotificationCategory. Ang mga button ay maaaring foreground (magbukas ng app), background (magsagawa sa background) o destructive (hindi na mababawi na aksyon — tanggalin, harangan).

Notification Content Extension at Service Extension

Notification Content Extension (iOS) — isang custom view controller para sa pagpapakita ng extended na nilalaman ng notification sa matagal na pagpindot o 3D Touch. Notification Service Extension (iOS) — middleware para sa pagbabago ng nilalaman ng notification bago ipakita: pag-decrypt ng E2E message, pag-load ng larawan, pag-obfuscate ng kumpidensyal na data. Sa Android walang direktang analog — lahat ng pagbabago ay ginagawa sa FirebaseMessagingService.

Pag-set up ng notification sa Android at iOS

Pag-set up sa Android

Para sa Android kinakailangan: (1) magdagdag ng Firebase SDK sa proyekto (google-services.json); (2) lumikha ng NotificationChannel (Android 8+) para sa bawat kategorya ng notification; (3) i-implement ang FirebaseMessagingService para sa pagtanggap ng token at papasok na mensahe. Notification Channel ay sapilitan — kung wala ito, hindi ipapakita ang mga notification sa Android 8+. Ang mga channel ay may priyoridad (IMPORTANCE_HIGH — tunog + popup, IMPORTANCE_LOW — walang tunog) at maaaring i-configure ng user sa mga setting ng system.

Pag-set up sa iOS

Para sa iOS kinakailangan: (1) i-enable ang Push Notifications capability sa Xcode; (2) i-configure ang APNS key sa Apple Developer Portal; (3) humiling ng awtorisasyon sa pamamagitan ng UNUserNotificationCenter.requestAuthorization — ito ay isang system dialog na ipinapakita nang isang beses. Ang tugon ng user ay kritikal: kung hindi ibinigay ang pahintulot, hindi maihahatid ang mga notification. Inirerekomenda na ipaliwanag sa user kung bakit kailangan ang mga notification bago ipakita ang system dialog (pre-permission prompt).

Mga Tool at Token

Device Token (iOS) at Registration Token (Android) ay mga natatanging identifier ng device para sa push notification. Ang token ay nabuo sa unang paglunsad ng app at maaaring magbago: sa muling pag-install, pag-clear ng data, pag-reset ng mga setting ng privacy. Dapat regular na i-update ng server ang mga token. Ang Firebase ay nagbibigay ng maginhawang API para sa pamamahala ng token sa pamamagitan ng onNewToken, pati na rin ng panel para sa test notification sending (Firebase Console → Cloud Messaging).

Ang Topic Subscription ay isa sa mga pinakaepektibong mekanismo ng FCM. Ang isang device ay nag-subscribe sa isang paksa (halimbawa, "news", "promo_users_ios"), at ang server ay nagpapadala ng mga notification ayon sa paksa nang hindi kinakailangang mag-imbak ng listahan ng mga token. Firebase Topics ay sumusuporta ng hanggang isang milyong subscriber bawat paksa at kondisyonal na pagpapadala (Condition) sa pamamagitan ng wika ng expression: "'news' in topics && ('US' in topics || 'UK' in topics)".

Ang Notification Payload ay ang JSON structure na ipinapadala sa pamamagitan ng FCM/APNS. Para sa FCM: hiwalay na notification (nakikitang bahagi — pamagat, body, larawan) at data (custom field para sa app). Para sa APNS: aps dictionary na may alert, badge, sound, category at content-available. Ang tamang istraktura ng payload ay kritikal: kung ang notification + data ay dumating nang sabay, ang app sa background ay maaaring hindi makatanggap ng data. Inirerekomenda na gumamit lamang ng data message para sa Android at ipasa ang mga visual field nang hiwalay sa pamamagitan ng FCM Console.

Mga Madalas Itanong

Ano ang pagkakaiba sa pagitan ng FCM at APNS?

Ang FCM (Firebase Cloud Messaging) ay serbisyo ng Google para sa Android at cross-platform notification. Ang APNS (Apple Push Notification Service) ay serbisyo ng Apple para lamang sa iOS/macOS. Ang FCM ay maaaring maghatid ng notification sa pamamagitan ng APNS sa iOS, na kumikilos bilang proxy server.

Ano ang Rich Notification?

Ang Rich Notification ay isang pinahusay na notification na may media content: mga larawan, video, audio, action button. Sa iOS ito ay implementado sa pamamagitan ng Notification Content Extension; sa Android sa pamamagitan ng BigPictureStyle at InboxStyle.

Paano gumagana ang Device Token?

Ang Device Token ay isang natatanging identifier ng device para sa pagpapadala ng push notification. Sa Android ito ay ang Registration Token mula sa FCM; sa iOS ito ay ang Device Token mula sa APNS. Ang token ay maaaring magbago sa muling pag-install ng app o pag-reset ng mga setting, kaya kailangan itong i-update sa server.

Ano ang Silent Push at bakit ito kailangan?

Ang Silent Push (tahimik na notification) ay isang notification na hindi ipinapakita sa user. Ito ay ginagamit para sa background data updates: content synchronization, widget updates, prefetching. Sa iOS ay nangangailangan ng pag-enable ng Background Modes → Remote notifications.

Paano naiiba ang PushKit sa regular na push notification?

Ang PushKit ay isang Apple framework para sa paghahatid ng mataas na priyoridad na notification na ginagamit sa VoIP apps (mga tawag, messenger). Ang PushKit ay naghahatid ng notification kahit na ang app ay pinatay at ginagarantiyahan ang paglunsad ng app para sa pagproseso.

Buod

  • FCM — cross-platform na serbisyo ng Google; APNS — native na serbisyo ng Apple
  • Rich Notification ay may kasamang media at button; Silent Push ay nag-a-update ng data nang hindi nagpapakita
  • Notification Channel (Android) at Notification Category (iOS) — sapilitan para sa pagpapangkat ng notification
  • Device Token — natatanging identifier; dapat regular na i-update sa server
  • Topic Subscription ay nagpapadali ng mass sending nang hindi nag-iimbak ng listahan ng token
  • PushKit — para sa kritikal na notification (VoIP, mahahalagang alerto)
  • Notification Payload ay dapat na naka-structure ayon sa platform: notification + data para sa FCM, aps para sa APNS

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