Notification Action σε κινητές εφαρμογές: τι είναι, τύποι και ρύθμιση

Συγγραφέας: IT Sectr Δημοσιεύτηκε: 2026-03-21 Χρόνος ανάγνωσης: 8 λεπ

Notification Action — διαδραστικά κουμπιά και πεδία εισαγωγής που εμφανίζονται απευθείας στην push ειδοποίηση και επιτρέπουν στον χρήστη να εκτελέσει μια ενέργεια χωρίς να ανοίξει την εφαρμογή. Αυτό είναι ένα κλειδί στοιχείο της εμπειρίας χρήστη που συντομεύει το μονοπάτι προς την οθόνη-στόχο. Σύμφωνα με Android Developers, 2025, το Notification Action αυξάνει την αρραίωση των χρηστών έως και 40% μειώνοντας την τριβή κατά την αλληλεπίδραση.

Βασικά σημεία

  • Notification Action — διαδραστικό στοιχείο σε push ειδοποίηση για γρήγορη εκτέλεση εργασιών.
  • Στο Android οι ενέργειες υλοποιούνται μέσω PendingIntent και NotificationCompat.Action.Builder.
  • Στο iOS οι ενέργειες ρυθμίζονται μέσω UNNotificationAction και 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 framework. Ο πραγματοποιητής δημιουργεί κατηγορίες ενεργειών (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. Θα σας συμβουλεύσουμε και θα προτείνουμε την καλύτερη λύση.

Συζήτηση έργου

Διαβάστε επίσης