Пусх обавештења у мобилном развоју: суштина, врсте и како раде

Аутор: IT Sectr Објављено: 2026-03-15 Време читања: 9 мин

Пусх обавештења су један од најефикаснијих начина интеракције са корисником након инсталације апликације. Омогућавају обавештавање о новој поруци, попусту, ажурирању садржаја или подсећање на напуштену корпу. Пусх обавештења (push notifications) раде преко облачних сервиса: Firebase Cloud Messaging (FCM) на Android-у и Apple Push Notification Service (APNS) на iOS-у. У овом чланку ћемо анализирати архитектуру обавештења, њихове врсте и процес подешавања за обе платформе. Више информација у званичној FCM документацији.

Кључне тачке

  • FCM — универзални сервис за Android и iOS (преко APNS проксија)
  • APNS — изворни Apple сервис за iOS, macOS, watchOS
  • Богата обавештења садрже медијски садржај (слике, дугмад, аудио) преко App Extensions-а
  • Silent Push ажурира податке у позадини без приказивања кориснику
  • Device Token — јединствени идентификатор уређаја; мора се чувати и ажурирати на серверу
  • Notification Channels (Android) и Notification Categories (iOS) — груписање и прилагођавање обавештења од стране корисника

Шта су пусх обавештења?

Пусх обавештење је порука коју сервер шаље на мобилни уређај без захтева од апликације. Порука пролази кроз облачни сервис (FCM или APNS) који је доставља на уређај чак и ако је апликација затворена. Обавештења се деле на два типа: display обавештења (приказују се кориснику) и data обавештења (преносе податке за позадинску обраду).

Архитектура пусх обавештења укључује три компоненте: (1) сервер апликације — шаље захтев на FCM/APNS; (2) облачни сервис — усмерава обавештење; (3) клијентска апликација — прима и обрађује обавештење. Сервер мора да зна Device Token уређаја да би послао обавештење управо њему. За масовна слања користи се Topic Subscription — претплата уређаја на тематске канале (вести, промоције, време).

На сваком уређају обавештења обрађује оперативни систем: Android — преко NotificationManager-а и NotificationChannel-а, iOS — преко UNUserNotificationCenter-а. Корисник може да подеси понашање обавештења за сваки канал: дозволи звук, банере, приказ на закључаном екрану или потпуно искључивање. Правилно подешавање канала повећава ангажованост и смањује стопу одјављивања.

У IT Sectr-у, пројектујемо систем пусх обавештења узимајући у обзир платформске карактеристике од самог почетка. Кључне одлуке: избор између FCM-а и директног APNS-а, формат payload-а, учесталост слања и механика претплата. Ово помаже да се избегну ситуације када обавештења не стижу или их систем блокира.

FCM против APNS

Firebase Cloud Messaging (FCM) је Google-ов међуплатформски сервис за доставу обавештења. FCM подржава Android, iOS, Web и Flutter. На iOS-у, FCM ради преко APNS-а: FCM шаље захтев APNS-у, који доставља обавештење на уређај. Предности FCM-а: јединствени API за обе платформе, уграђена аналитика, A/B тестирање, теме и сегменти публике.

Apple Push Notification Service (APNS) је Apple-ов изворни сервис. Ради само на Apple уређајима (iOS, macOS, watchOS, tvOS). Захтева директну ауторизацију преко TLS сертификата или токена (JWT). APNS обезбеђује минимално кашњење доставе и директну интеграцију са iOS функцијама: PushKit, Notification Service Extension и критична упозорења.

Избор између FCM-а и APNS-а зависи од архитектуре пројекта. Ако је апликација само за iOS — APNS даје више контроле. Ако је међуплатформска — FCM је згоднији са јединственим API-јем. Многи пројекти користе FCM као основни сервис, а на iOS-у додатно подешавају PushKit за VoIP. Хибридни приступ омогућава да се добије најбоље из оба система.

Карактеристика FCM APNS
ПлатформеAndroid, iOS, Web, FlutteriOS, macOS, watchOS, tvOS
АуторизацијаСерверски кључ (Firebase Console)TLS сертификат или JWT токен
Максимални payload4 KB (data), 2 KB (notification)4 KB
ТемеУграђене (Topic Messaging)Нема (имплементирају се на серверу)
Silent PushПодржанПодржан (content-available)
PushKitНемаДа (VoIP, live activities)
АналитикаFirebase AnalyticsНема уграђене
Достава на угашеном уређајуОграничено (зависи од произвођача)Да, преко PushKit-а

Врсте обавештења (Rich, Silent, Interactive)

Rich Notification (Богата обавештења)

Rich Notification је обавештење које садржи не само текст већ и медијски садржај: слике, видео, аудио и дугмад за акцију. На Android-у се имплементира кроз NotificationCompat стилове: BigPictureStyle (велика слика), BigTextStyle (сажети/проширени текст), InboxStyle (листа порука), MediaStyle (контрола репродукције). На iOS-у се користи Notification Content Extension — засебан target са прилагођеним UI-јем за проширено обавештење.

Silent Push (Тиха обавештења)

Silent Push (content-available на iOS-у) је обавештење које се доставља без приказивања кориснику. Намењено је за позадинско ажурирање података: синхронизација садржаја, преучитавање, ажурирање виџета. На iOS-у, Silent Push захтева укључивање Background Modes → Remote notifications. На Android-у се за обраду позадинских обавештења користи FirebaseMessagingService са onMessageReceived. Важно: на iOS-у, Silent Push има ограничења учесталости и не гарантује доставу ако апликација није у предњем плану.

Interactive Notification (Интерактивна обавештења)

Interactive Notification омогућава кориснику да изврши радњу без отварања апликације. На Android-у су то дугмад (Action) у обавештењу: „Одговори", „Одобри", „Одбиј". Радње се обрађују преко PendingIntent-а, који покреће BroadcastReceiver или Service. На iOS-у, Notification Action се региструје преко UNNotificationAction и UNNotificationCategory. Дугмад могу бити foreground (отвара апликацију), background (извршава у позадини) или destructive (неповратна радња — избриши, блокирај).

Notification Content Extension и Service Extension

Notification Content Extension (iOS) — прилагођени view controller за приказивање проширеног садржаја обавештења при дугом притиску или 3D Touch-у. Notification Service Extension (iOS) — middleware за модификацију садржаја обавештења пре приказивања: дешифровање E2E порука, учитавање слике, обфускација поверљивих података. На Android-у нема директних аналога — све модификације се обављају у FirebaseMessagingService-у.

Подешавање обавештења на Android-у и iOS-у

Подешавање на Android-у

За Android је потребно: (1) додати Firebase SDK у пројекат (google-services.json); (2) креирати NotificationChannel (Android 8+) за сваку категорију обавештења; (3) имплементирати FirebaseMessagingService за пријем токена и долазних порука. Notification Channel је обавезан — без њега обавештења неће бити приказана на Android 8+. Канали имају приоритет (IMPORTANCE_HIGH — звук + искачући прозор, IMPORTANCE_LOW — без звука) и корисник их може подесити у системским поставкама.

Подешавање на iOS-у

За iOS је потребно: (1) укључити Push Notifications capability у Xcode-у; (2) подесити APNS кључ на Apple Developer Portal-у; (3) затражити ауторизацију кроз UNUserNotificationCenter.requestAuthorization — ово је системски дијалог који се приказује једном. Одговор корисника је критичан: ако дозвола није добијена, обавештења неће бити достављена. Препоручује се да се кориснику објасни зашто су обавештења потребна пре приказивања системског дијалога (pre-permission prompt).

Алати и Token

Device Token (iOS) и Registration Token (Android) су јединствени идентификатори уређаја за пусх обавештења. Токен се генерише при првом покретању апликације и може се променити: при поновној инсталацији, чишћењу података, ресетовању подешавања приватности. Сервер мора редовно да ажурира токене. Firebase пружа згодан API за управљање токенима преко onNewToken, као и панел за тестно слање обавештења (Firebase Console → Cloud Messaging).

Topic Subscription је један од најефикаснијих механизама FCM-а. Уређај се претплаћује на тему (нпр. „news", „promo_users_ios"), а сервер шаље обавештења по теми без потребе за чувањем листе токена. Firebase Topics подржава до милион претплатника по теми и условно слање (Condition) кроз језик израза: „'news' in topics && ('US' in topics || 'UK' in topics)".

Notification Payload је JSON структура која се шаље кроз FCM/APNS. За FCM: одвојено notification (видљиви део — наслов, тело, слика) и data (прилагођена поља за апликацију). За APNS: aps речник са alert, badge, sound, category и content-available. Правилна структура payload-а је критична: ако notification + data стигну истовремено, апликација у позадини можда неће примити data. Препоручује се коришћење само data порука за Android и преношење визуелних поља одвојено кроз FCM Console.

Често постављана питања

Која је разлика између FCM-а и APNS-а?

FCM (Firebase Cloud Messaging) је Google-ов сервис за Android и међуплатформска обавештења. APNS (Apple Push Notification Service) је Apple-ов сервис само за iOS/macOS. FCM може достављати обавештења преко APNS-а на iOS-у, делујући као прокси сервер.

Шта је Rich Notification?

Rich Notification је напредно обавештење са медијским садржајем: слике, видео, аудио, дугмад за акцију. На iOS-у се имплементира кроз Notification Content Extension; на Android-у кроз BigPictureStyle и InboxStyle.

Како ради Device Token?

Device Token је јединствени идентификатор уређаја за слање пусх обавештења. На Android-у је то Registration Token од FCM-а; на iOS-у Device Token од APNS-а. Токен се може променити при поновној инсталацији апликације или ресетовању подешавања, па га треба ажурирати на серверу.

Шта је Silent Push и зашто је потребан?

Silent Push (тихо обавештење) је обавештење без приказивања кориснику. Користи се за позадинско ажурирање података: синхронизација садржаја, ажурирање виџета, преузимање унапред. На iOS-у захтева укључивање Background Modes → Remote notifications.

По чему се PushKit разликује од обичних пусх обавештења?

PushKit је Apple-ов оквир за доставу обавештења високог приоритета који се користи у VoIP апликацијама (позиви, месенџери). PushKit доставља обавештење чак и ако је апликација убијена и гарантује покретање апликације за обраду.

Резиме

  • FCM — Google-ов међуплатформски сервис; APNS — Apple-ов изворни сервис
  • Rich Notification укључује медије и дугмад; Silent Push ажурира податке без приказивања
  • Notification Channel (Android) и Notification Category (iOS) — обавезни за груписање обавештења
  • Device Token — јединствени идентификатор; мора се редовно ажурирати на серверу
  • Topic Subscription поједностављује масовна слања без чувања листе токена
  • PushKit — за критична обавештења (VoIP, животно важна упозорења)
  • Notification Payload мора бити структуриран у складу са платформом: notification + data за FCM, aps за APNS

Развићемо мобилну апликацију под кључ

IT Sectr креира iOS и Android апликације за стартапе и предузећа од 2017. године. Саветоваћемо вас и предложити најбоље решење.

Разговарајте о пројекту