Notification Action у мобилним апликацијама: шта је, типови и подешавање

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

Notification Action — интерактивни дугмићи и поља за унос који се приказују директно у push обавештењу и омогућавају кориснику да изврши радњу без отварања апликације. Ово је кључни елемент корисничког искуства који скраћује пут до циљног екрана. Према Android Developers, 2025, Notification Action повећава ангажованост корисника до 40% захваљујући смањењу трења при интеракцији.

Главно

  • Notification Action — интерактивни елемент у push обавештењу за брзо извршавање задатака.
  • На Android-у акције се имплементирају путем PendingIntent-a и NotificationCompat.Action.Builder-а.
  • На iOS-у акције се подешавају путем UNNotificationAction-a и UNNotificationCategory-је.
  • Подржани су дугмићи, унос текста, ознака „завршено“ и одложене акције.
  • Свака акција мора да се обрађи у callback-у апликације при клику.

Шта је Notification Action

Notification Action — је интерактивни елемент интерфејса који се додаје у push обавештење за извршавање одређене акције. Корисник може да одговори на поруку, потврди задатак или отвори одређени екран без уласка у апликацију. Акције се приказују као дугмићи испод текста обавештења или у проширеном приказу при превлачењу.

Зашто су потребне акције у обавештењима

Основни циљ Notification Action-а је смањење броја корака за постизање циља корисника. Уместо отварања апликације и навигације до потребног екрана, корисник кликне један дугмић. Истраживања показују да апликације са интерактивним обавештењима имају 25–40% виши ниво ангажовања у поређењу са обичним обавештењима.

Визуелни приказ на различитим платформама

На Android-у, Notification Action се приказују као иконице-дугмићи у сажетом приказу и као текстуални дугмићи у проширеном режиму. На iOS-у, акције се појављују при дугом притиску на обавештење или превлачењу улево. Свака платформа има сопствене препоруке за број акција — Android препоручује највише 3, iOS — највише 4.

ПлатформаМакс. акцијаНачин приказаТипови акција
Android3Иконице + текстДугмићи, унос текста
iOS4Дуги притисак / превлачењеДугмићи, унос текста

Notification Action на Android-у

На Android-у, Notification Action се креирају путем NotificationCompat.Builder-а коришћећем методе addAction(). Свака акција садржи иконицу, текст и PendingIntent који се покреће при клику. Почев од Android 7.0 (API 24), подржан је директан унос текста путем RemoteInput-а.

Креирање основне акције

За креирање дугмића у обавештењу, потребно је дефинисати PendingIntent који ће бити покренут при клику. PendingIntent може да отвори Activity, покрене Service или BroadcastReceiver. Иконица акције мора бити монохромна и усклађена са Material Design-ом.

kotlin
val acceptIntent = Intent(context, AcceptActionReceiver::class.java)
acceptIntent.putExtra("notification_id", notificationId)

val acceptPendingIntent = PendingIntent.getBroadcast(
    context, requestCode,
    acceptIntent, PendingIntent.FLAG_UPDATE_CURRENT
)

val notification = NotificationCompat.Builder(context, CHANNEL_ID)
    .setSmallIcon(R.drawable.ic_notification)
    .setContentTitle("Захтев за потврду")
    .setContentText("Потврдите извршење задатка")
    .addAction(R.drawable.ic_accept, "Потврди", acceptPendingIntent)
    .build()

Акција са уносом текста (RemoteInput)

За сценарије који захтевају унос текста (нпр. одговор на поруку), Android пружа RemoteInput. Корисник уноси текст директно у обавештењу, а апликација га прима без отварања Activity-је. RemoteInput је подржан на Android 7.0+ и захтева експлицитну обраду у BroadcastReceiver-у или Service-у.

kotlin
val remoteInput = RemoteInput.Builder("reply_input")
    .setLabel("Унесите одговор")
    .build()

val replyAction = NotificationCompat.Action.Builder(
    R.drawable.ic_reply, "Одговори", replyPendingIntent
)
    .addRemoteInput(remoteInput)
    .build()

val notification = NotificationCompat.Builder(context, CHANNEL_ID)
    .addAction(replyAction)
    .build()

Обрада акција на Android-у

При клику на акцију, систем покреће наведени PendingIntent. За добијање унетог текста из RemoteInput-а, позовите RemoteInput.getResultsFromIntent(intent). Препоручује се обрада акција у IntentService-у или WorkManager-у да се не блокира UI нит.

Notification Action на iOS-у

На iOS-у, Notification Action се имплементирају путем UserNotifications оквира. Развојач креира категорије акција (UNNotificationCategory) и региструје их при покретању апликације. Свака акција је дефинисана објектом UNNotificationAction са јединственим идентификатором.

Подешавање категорија и акција на iOS-у

Да бисте додали акције у push обавештења на iOS-у, потребно је креирати категорију која групише повезане акције. Категорија се наводи у пакету обавештења путем поља category. По пријему обавештења, систем приказује доступне акције из наведене категорије.

swift
import UserNotifications

class NotificationSetup {

    func registerNotificationCategories() {
        let approveAction = UNNotificationAction(
            identifier: "APPROVE_ACTION",
            title: "Потврди",
            options: [.foreground]
        )

        let declineAction = UNNotificationAction(
            identifier: "DECLINE_ACTION",
            title: "Одбиј",
            options: [.destructive]
        )

        let category = UNNotificationCategory(
            identifier: "REQUEST_CATEGORY",
            actions: [approveAction, declineAction],
            intentIdentifiers: [],
            options: []
        )

        UNUserNotificationCenter.current()
            .setNotificationCategories([category])
    }
}

Обрада акција на iOS-у

Када корисник кликне на акцију, систем позива методу userNotificationCenter:didReceiveNotificationResponse у делегату UNUserNotificationCenter-а. response.actionIdentifier садржи идентификатор извршене акције. За унос текста користи се UNTextInputNotificationAction који пружа текст који је унео корисник.

swift
extension AppDelegate: UNUserNotificationCenterDelegate {

    func userNotificationCenter(
        center: UNUserNotificationCenter,
        didReceive response: UNNotificationResponse,
        withCompletionHandler completionHandler: @escaping () -> Void
    ) {
        switch response.actionIdentifier {
        case "APPROVE_ACTION":
            Log.d("Action: approved")
        case "DECLINE_ACTION":
            Log.d("Action: declined")
        case UNNotificationDefaultActionIdentifier:
            Log.d("Action: opened app")
        default:
            break
        }
        completionHandler()
    }
}

Типови и сценарији Notification Action-а

Notification Action се класификује према типу интеракције и сценарију коришћења. Правилан избор типа акције директно утиче на корисничко искуство и конверзију у циљну акцију.

Дугмићи који покрећу апликацију

Најчешћи тип — дугмић који отвара апликацију на одређеном екрану. На Android-у користи се PendingIntent.getActivity(), на iOS-у — опција .foreground за UNNotificationAction. Примењује се за акције које захтевају пун интерфејс, нпр. преглед детаља поруџбине.

Акције у позадини

Акције које се извршавају без отварања апликације. На Android-у користи се PendingIntent.getBroadcast() или PendingIntent.getService(). На iOS-у — опција .authenticationRequired или без .foreground. Примјери: ознака задатка као завршеног, лајк објаве, додавање у омиљено.

Унос текста

Омогућава кориснику да унесе текст директно у обавештењу. На Android-у се имплементира путем RemoteInput-а, на iOS-у — путем UNTextInputNotificationAction-а. Користи се за одговоре на поруке, коментаре, унос једнократних кодова за потврду.

Деструктивне акције

Акције које неопозиво мењају податке — брисање, одбијање, блокирање. На Android-у се истичу визуелно (црвена боја у неким системима), на iOS-у захтевају опцију .destructive. Препоручује се тражење потврде за деструктивне акције, нпр. кроз додатни дијалог или други клик.

Улазне акције са уносом текста

Посебна класа акција — унос текста из обавештења. На Android-у се имплементира путем RemoteInput-а у комбинацији са PendingIntent-ом. На iOS-у користи се UNTextInputNotificationAction, који насљеђује UNNotificationAction. Овакве акције се користе за брзе одговоре у месенџерима, унос промо кодова, попуњавање образаца за повратну информацију или оцењивање квалитета услуге. Унети текст се преноси апликацији заједно са идентификатором акције. За исправну обраду уноса текста на обе платформе, потребно је имплементирати парсирање унетих података и валидацију пре извршавања циљне акције.

Обрада кликова и логовање

Исправна обрада Notification Action-а је критична за аналитику и корисничко искуство. Сваки клик мора бити логован, а акција мора бити извршена поуздано, чак и ако је апликација била затворена.

Аналитика и праћење

Пратите сваки клик на Notification Action кроз аналитички систем. Firebase Analytics, Mixpanel или Yandex.Metrica омогућавају биљежење идентификатора акције, времена клика и контекста обавештења. Ови подаци помажу да оптимизујете стратегију обавештења и повећате ангажовање. A/B тестирање са различитим скуповима акција помаже да се утврде најефикаснији сценарији интеракције са корисником.

Поуздана обрада када је апликација затворена

Ако је апликација затворена, систем ипак преноси Intent или UNNotificationResponse при клику на акцију. На Android-у користите BroadcastReceiver за гарантовану обраду. На iOS-у, систем покреће апликацију у позадини и преноси одговор делегату. За критичне акције (потврда плаћања, ауторизација) додајте механизам поновног покушаја и обавештење корисника о успешном извршењу.

Визуелна прилагодба дугмића на Android-у

Почев од Android 7.0, развојач може да утиче на приказ Notification Action-а кроз иконице и боје. Иконице морају бити монохромне (алфа канал), величине 24x24 dp. На iOS-у, прилагодба дугмића је ограничена — користе се системске боје и фонтови. Material Design препоручује груписање акција према приоритету: најважнија акција прва, деструктивне последње.

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

Колико акција се може додати у једно обавештење?

На Android-у се препоручује највише 3 акције, на iOS-у до 4. Прекораћивање лимита доводи да се део акција не приказује или сакрије у подменију.

Како додати иконицу за Notification Action на Android-у?

Иконица се преноси у NotificationCompat.Action.Builder као drawable ресурс. Иконица мора бити монохромна (алфа канал), величине 24x24 dp и усклађена са Material Design препорукама.

Да ли Notification Action раде на закључаном екрану?

Да, ако се обавештење приказује на закључаном екрану и је постављен флаг visibility као VISIBILITY_PUBLIC. На iOS-у је потребна опција .authenticationRequired за акције које захтевају ауторизацију.

Како обрадити клик на акцију ако је апликација уклоњена из меморије?

На Android-у систем поново креира процес и испоручује Intent. На iOS-у систем покреће апликацију у позадини. Испорука се може гарантовати помоћу BroadcastReceiver-а на Android-у и UNNotificationServiceExtension-а на iOS-у.

По чему се разликује акција на Android-у од iOS-а у погледу корисничког искуства?

На Android-у акције су одмах видљиве испод обавештења као иконице. На iOS-у акције су сакривене иза дугог притиска или превлачења. UX дизајн обавештења мора да узме у обзир ове платформене разлике.

Закључак

  • Notification Action — дугмићи и поља за унос у push обавештењима за брзу интеракцију.
  • На Android-у акције се креирају путем NotificationCompat.Action- са PendingIntent-ом.
  • На iOS-у акције се дефинишу путем UNNotificationAction- са регистрацијом категорије.
  • Унос текста се имплементира путем RemoteInput (Android) или UNTextInputNotificationAction (iOS).
  • Максималан број акција — 3 за Android, 4 за iOS.
  • Сваку акцију треба логовати у аналитичком систему ради оптимизације обавештења.
  • За поуздану обраду користите BroadcastReceiver на Android-у и AppDelegate на iOS-у.

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

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

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

Прочитајте такође