Interactive Notification — је push обавештење са интерактивним елементима које омогућава извршавање радње без отварања апликације. Према Apple Human Interface Guidelines (2025), оваква обавештења смањују број корака до циљне радње за 40%. Дугмића акција и поља за унос омогућавају кориснику да одговори на поруку, плати претплату или потврди резервацију директно из панела обавештења, без отварања апликације.
Главно
Interactive Notification — је проширени формат push обавештења који садржи интерактивне контролне елементе: дугмиће, прекидаче и поља за унос текста. За разлику од стандардног обавештења које само обавештава, интерактивно омогућава кориснику да изврши циљну радњу директно из панела или екрана за закључавање. Према Google Material Design (2025), интерактивна обавештења обрађује оперативни систем без покретања главног процеса апликације — ово штеди батерију и убрзава одговор. Програмер дефинише скуп акција кроз категорије на iOS и канале на Android, а систем их приказује у зависности од контекста.
Свако интерактивно обавештење састоји се од три нивоа: главног садржаја (наслов, тело), акција (дугмићи) и опционалног уноса текста. На iOS ови компоненти се спајају путем UNNotificationCategory, а на Android — путем NotificationCompat.Action.Builder. Систем приказује дугмиће испод текста обавештења у сажетом или проширеном облику у зависности од верзије ОС и дужине текста. Корисник види доступне акције одмах након пријема обавештења и може да изврши једну од њих без уласка у апликацију.
Механизам рада Interactive Notification се дели на две фазе: регистрацију категорија при покретању апликације и обраду акције након притиска корисника. У фази регистрације, програмер креира објекте категорија са скупом акција — свака акција има идентификатор, наслов и опције. При пријему push обавештења, систем га поклапа са регистрованом категоријом према пољу categoryIdentifier и аутоматски додаје одговарајуће дугмиће. Кад корисник притисне дугме, систем позива делегата UNUserNotificationCenter или PendingIntent на Android са идентификатором акције и преноси резултат натраг апликацији. Према WWDC 2024, време обраде интерактивне акције на iOS не прелази 200 ms уз исправну конфигурацију.
Интерактивна обавештења се деле на три главна типа према начину интеракције: дугмићна, текстуална и мултимедијална. Сваки тип решава свој задатак и примењује се у одређеним сценаријима. Избор типа зависи од контекста — што мање корака је потребно кориснику, то је конверзија већа. Apple и Google препоручују коришћење дугмића за потврду, поља за унос за одговоре и медија за преглед садржаја.
Најзаступљенији тип — обавештење са једном или више дугмића, од којих свака извршава унапред дефинисану радњу. На пример, дугмиће «Прихвати» и «Одбиј» за календарски догађај, «Лајк» и «Одговори» за поруку. На iOS је подржано до четири дугмића, на Android — до три. Дугмићи се могу груписати по приоритету: обични и деструктивни (са потврдом). Apple препоручује не више од два главна дугмића ради удобности корисника на екрану за закључавање.
RemoteInput — технологија која омогућава кориснику да унесе текст директно у обавештење без отварања апликације. На iOS се за то користи UNTextInputNotificationAction, на Android — RemoteInput.Builder са кључем за издвајање унесеног текста. Најчешће се примењује у месенџерима за брзи одговор на поруку. Унесени текст се преноси апликацији путем сервиса обавештења или локалног хандлера. Ограничење — текст не може да садржи форматирање, само обичан string.
Обавештења са медијским прилозима омогућавају приказивање слика, аудио и видеа директно у панелу. На iOS ово се примењује путем UNNotificationAttachment, на Android — путем NotificationCompat.MessagingStyle са BigPictureStyle. Медијум учитава сервер push провајдера и преноси се заједно са обавештењем као прилог. Величина прилога је ограничена — Apple препоручује не више од 10 MB, Google — не више од 1 MB за слике. Медији садржај повећава информативност обавештења за вести, маркетплејсе и друштвене мреже.
На iOS-у, Interactive Notification се имплементира кроз framework UserNotifications коришћењем UNNotificationCategory и UNNotificationAction. Апликација региструје категорије при покретању, а при пријему обавештења систем аутоматски приказује одговарајуће дугмиће. За обраду акција потребно је имплементирати методу userNotificationCenter:didReceiveNotificationResponse:withCompletionHandler. Испод је пример регистрације категорије са дугметом и текстуалним уносом у Swift-у.
import UserNotifications
let replyAction = UNTextInputNotificationAction(
identifier: "reply",
title: "Одговори",
options: [.authenticationRequired],
textInputButtonTitle: "Пошаљи",
textInputPlaceholder: "Унесите поруку..."
)
let category = UNNotificationCategory(
identifier: "message",
actions: [replyAction],
intentIdentifiers: [],
options: []
)
UNUserNotificationCenter.current()
.setNotificationCategories([category])
Након позива setNotificationCategories, систем чува категорије и користи их за све наредне обавештења. Код се мора позивати при сваком покретању апликације да би се категорије синхронизовале са новим верзијама. Обрада одговора се обавља у делегату центра обавештења — апликација добија идентификатор акције и унесени текст за даљу обраду.
func userNotificationCenter(
_ center: UNUserNotificationCenter,
didReceive response: UNNotificationResponse,
withCompletionHandler completion: @escaping VoidBlock
) {
if response.actionIdentifier == "reply" {
let textResponse = response as! UNTextInputNotificationResponse
let message = textResponse.userText
sendMessage(message)
}
completion()
}
Метода userNotificationCenter се позива од стране система након што корисник притисне дугме или пошаље текст. Унутар хандлера проверава се actionIdentifier — ако се поклапа са регистрованим идентификатором, апликација извлачи унесени текст из userText и шаље резултат на сервер. За обичне дугмиће без текстуалног уноса користи се UNNotificationResponse без претварања.
На Android-у, интерактивна обавештења се креирају путем класе NotificationCompat са методама addAction и RemoteInput. За разлику од iOS-а, Android не захтева претходну регистрацију категорија — акције се додају директно сваком обавештењу путем Builder-а. Ово пружа већу флексибилност: свако обавештење може имати јединствени скуп дугмића. Испод је пример обавештења са дугметом за одговор у Java-у коришћењем RemoteInput-а.
RemoteInput remoteInput = new RemoteInput.Builder("key_reply")
.setLabel("Одговори")
.build();
PendingIntent replyIntent = PendingIntent.getBroadcast(
this, 1001,
new Intent("ACTION_REPLY"),
PendingIntent.FLAG_UPDATE_CURRENT
);
NotificationCompat.Action action =
new NotificationCompat.Action.Builder(
R.drawable.ic_reply,
"Одговори", replyIntent
)
.addRemoteInput(remoteInput)
.build();
NotificationCompat.Builder builder =
new NotificationCompat.Builder(this, "messages")
.setContentTitle("Нова порука")
.setContentText("Здраво! Како си?")
.setSmallIcon(R.drawable.ic_notification)
.addAction(action);
NotificationManagerCompat.from(this)
.notify(100, builder.build());
Кључни елемент је RemoteInput који повезује поље за унос са акцијом. Кад се притисне дугме «Одговори», систем отвара дијалошки прозор за унос текста унутар обавештења. Након слања, текст се преноси путем Intent-а у BroadcastReceiver или Activity према наведеном PendingIntent-у. За прибављање текста у пријемнику користи се RemoteInput.getResultsFromIntent(intent) са кључем «key_reply».
Bundle results = RemoteInput.getResultsFromIntent(intent);
if (results != null) {
CharSequence reply = results.getCharSequence("key_reply");
if (reply != null) {
sendReplyToServer(reply.toString());
}
}
Метода getResultsFromIntent извлачи текст који је унео корисник из Intent-а који је пренео систем при слању одговора. Резултат се враћа као CharSequence, који се претвара у низ за слање на сервер. Ако је корисник затворио дијалошки прозор без слања, results ће бити празно — ово треба узети у обзир при обради. Овакав приступ омогућава брз одговор без покретања Activity-је.
Interactive Notification се примењује у апликацијама сваког типа где је потребна брза радња корисника. Најефикаснији сценарији — месенџери за одговор на поруку, e-commerce за потврду поруџбине и календари за прихватање позивнице. Према Localytics (2025), апликације са интерактивним обавештењима показују 28% виши retention у 7. дану. Испод је приказана табела са популарним сценаријима и платформним карактеристикама.
| Сценаријо | Акције | Платформа |
|---|---|---|
| Месинџер | Одговори текстом, Лајк | iOS + Android |
| E-commerce | Потврди, одложи, откажи | iOS + Android |
| Календар | Прихвати, одбиј, можда | iOS |
| Вести | Сачувај, подели, отвори | Android |
| Резервација | Потврди, пребаци, откажи | iOS + Android |
При дизајну интерактивних обавештења важно је узети у обзир ограничење — корисник може да изврши радњу само једном. Након притиска дугмета, обавештење нестаје или прелази у стање «извршено». Стога свака акција треба да буде неповратна или да захтева потврду у другом кораку.
Често постављана питања
Interactive Notification — је push обавештење са дугмићима, пољем за унос или медијским прилогом које омогућава кориснику да изврши радњу без отварања апликације. Подржано на iOS-у кроз UserNotifications и на Android-у кроз NotificationCompat.
Обично обавештење само обавештава — корисник притисне и отвори апликацију. Интерактивно обавештење садржи дугмиће или поље за унос, а радња се извршава директно у панелу. Ово скраћује пут до циљне радње и смањује оптерећење апликације.
На iOS је подржано до четири дугмића, на Android — до три. На Android-у два дугмића су приказана на панелу обавештења, трећи је доступан у падајућем менију. Apple препоручује не више од два главна дугмића ради удобности корисника на екрану за закључавање.
На iOS-у се користи UNTextInputNotificationAction, на Android-у — RemoteInput.Builder са кључем. Корисник уноси текст у дијалошки прозор унутар обавештења, а апликација га прима путем делегата или Intent-а без покретања Activity-је.
Пријем push обавештења захтева интернет везу, али сама интерактивност (приказ дугмића, унос текста) ради офлајн. Преношење резултата на сервер може бити одложено до поновног успостављања везе.
Закључак
Развићемо мобилну апликацију под кључ
IT Sectr креира iOS и Android апликације за стартапе и предузећа од 2017. године. Саветоваћемо вас и предложити најбоље решење.
Прочитајте такође