Push ειδοποιήσεις στην ανάπτυξη κινητών — ουσία, τύποι και πώς λειτουργούν

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

Οι Push ειδοποιήσεις είναι μηνύματα που στέλνει ο διακομιστής στην κινητή συσκευή ακόμα και όταν η εφαρμογή είναι κλειστή. Σύμφωνα με δεδομένα του Google Firebase, 2024, οι Push ειδοποιήσεις επεξεργάζονται μέσω εξειδικευμένων υπηρεσιών — FCM σε Android και APNS σε iOS, οι οποίες υποστηρίζουν παράδοση σε πραγματικό χρόνο σε εκατομμύρια συσκευές ταυτόχρονα. Έχουν γίνει αναπόσπαστο μέρος της εμπειρίας χρήστη σε σύγχρονες εφαρμογές κινητών.

Κύρια σημεία

  • Push ειδοποιήσεις — μηνύματα από τον διακομιστή που παραδίδονται μέσω FCM ή APNS.
  • FCM (Firebase Cloud Messaging) — η κύρια υπηρεσία για Android με υποστήριξη iOS.
  • APNS (Apple Push Notification Service) — η ίδια υπηρεσία της Apple για iOS και macOS.
  • Τύποι ειδοποιήσεων χωρίζονται σε ειδοποιήσεις κειμένου, πολυμέσων και σιωπηλές.
  • Token συσκευών — μοναδικά αναγνωριστικά για στοχευμένη παράδοση Push μηνυμάτων.

Τι είναι οι Push ειδοποιήσεις;

Οι Push ειδοποιήσεις είναι σύντομα μηνύματα που στέλνει ο διακομιστής εφαρμογής στη συσκευή του χρήστη χωρίς ρητή αίτησή του. Εμφανίζονται ως banners, εικονίδια σήμανσης ή ηχητικά σήματα, προσελκύοντας την προσοχή του χρήστη στην εφαρμογή και ενημερώνοντας για σημαντικά γεγονότα.

Ορισμός και σκοπός

Μια Push ειδοποίηση αποτελείται από τίτλο, σώμα μηνύματος και προαιρετικά δεδομένα (payload). Σε αντίθεση με τα SMS, οι Push ειδοποιήσεις είναι δωρεάν για τον χρήστη και παραδίδονται μέσω υποδομής υπηρεσιών cloud — FCM για Android και APNS για iOS. Οι κύριοι σκοποί των Push ειδοποιήσεων: αύξηση αφοσίωσης, ενημέρωση για γεγονότα και επαναφορά του χρήστη στην εφαρμογή.

Τα στατιστικά χρήσης δείχνουν ότι οι σωστά ρυθμισμένες Push ειδοποιήσεις αυξάνουν τη διατήρηση εφαρμογής κατά 30-60%. Ωστόσο, η υπερβολική συχνότητα ειδοποιήσεων οδηγεί σε ακυρώσεις εγγραφής — πάνω από το 60% των χρηστών απενεργοποιεί τις ειδοποιήσεις αν αποστέλλονται περισσότερες από τρεις φορές την ημέρα.

Αρχιτεκτονική Push συστήματος

Το Push σύστημα περιλαμβάνει τρία στοιχεία: τον διακομιστή εφαρμογής (app server), την υπηρεσία πλατφόρμας (FCM/APNS) και την εφαρμογή-πελάτη στη συσκευή. Ο διακομιστής στέλνει αίτημα στην υπηρεσία πλατφόρμας, η οποία παραδίδει την ειδοποίηση στη συσκευή-στόχο μέσω μόνιμης σύνδεσης με το λειτουργικό σύστημα.

Πώς λειτουργούν οι Push ειδοποιήσεις;

Ο μηχανισμός παράδοσης των Push ειδοποιήσεων βασίζεται σε μόνιμη σύνδεση μεταξύ της συσκευής και της υπηρεσίας πλατφόρμας. Το λειτουργικό σύστημα διατηρεί ένα κρυπτογραφημένο κανάλι επικοινωνίας μέσω του οποίου περνούν όλα τα Push μηνύματα.

Εγγραφή και λήψη token

Κατά την πρώτη εκκίνηση, η εφαρμογή ζητά άδεια αποστολής ειδοποιήσεων και λαμβάνει ένα μοναδικό token συσκευής από το FCM ή το APNS. Αυτό το token είναι μια συμβολοσειρά μήκους έως 4 KB που αναγνωρίζει μοναδικά την παρουσία της εφαρμογής. Το token αλλάζει κατά την επανεγκατάσταση της εφαρμογής ή την επαναφορά της συσκευής από αντίγραφο ασφαλείας.

kotlin
class FirebaseMessagingService :
    FirebaseMessagingService() {

    override fun onNewToken(token: String) {
        sendTokenToServer(token)
    }

    override fun onMessageReceived(
        message: RemoteMessage
    ) {
        showNotification(message.notification)
    }
}

Αποστολή μέσω διακομιστή εφαρμογής

Ο διακομιστής εφαρμογής στέλνει ένα HTTP αίτημα στο FCM API ή APNS API, προσδιορίζοντας το token-στόχο, τον τίτλο, το σώμα και τα πρόσθετα δεδομένα. Η υπηρεσία πλατφόρμας απαντά με την κατάσταση παράδοσης: success, invalid token (η συσκευή διέγραψε την εφαρμογή) ή rate-limited (υπέρβαση συχνότητας αποστολής).

js
fetch("https://fcm.googleapis.com/fcm/send", {
    method: "POST",
    headers: {
        "Authorization": "key=AIzaSy...",
        "Content-Type": "application/json"
    },
    body: JSON.stringify({
        to: "device_token_here",
        notification: {
            title: "στείλτε το token στον δικό σας διακομιστή",
            body: "Έχετε μια νέα ειδοποίηση!"
        }
    })
})

FCM vs APNS: σύγκριση πλατφορμών

Η επιλογή μεταξύ FCM και APNS εξαρτάται από την πλατφόρμα-στόχο. Το FCM υποστηρίζει Android και iOS, το APNS — μόνο το οικοσύστημα Apple. Ας δούμε τις βασικές διαφορές που είναι σημαντικές για την ανάπτυξη cross-platform εφαρμογών κινητών.

Firebase Cloud Messaging (FCM)

Το FCM είναι η υπηρεσία Google που λειτουργεί πάνω από το Google Play Services. Υποστηρίζει δύο σχήματα παράδοσης: ειδοποιήσεις με αυτόματη εμφάνιση (display notifications) και ειδοποιήσεις δεδομένων που επεξεργάζεται η ίδια η εφαρμογή. Το FCM είναι δωρεάν και δεν έχει περιορισμούς στον αριθμό των αποστελλόμενων μηνυμάτων.

Apple Push Notification Service (APNS)

Το APNS είναι η υπηρεσία της Apple με υποστήριξη για συνημμένα πολυμέσων (εικόνες, βίντεο, ήχος) έως 10 MB. Για αποστολή μέσω APNS απαιτείται πιστοποιητικό TLS ή κλειδί αυθεντικοποίησης. Το APNS περιορίζει τη συχνότητα αποστολής σε μία συσκευή — όχι περισσότερες από 150 ειδοποιήσεις ανά λεπτό, μετά από το οποίο ενεργοποιείται ο περιορισμός ρυθμού.

ΧαρακτηριστικόFCMAPNS
ΠλατφόρμεςAndroid, iOS, WebiOS, macOS, watchOS
ΑπαιτήσειςGoogle Play ServicesApple Developer Program
Πολυμέσαέως 4 KB (δεδομένα)έως 10 MB (συνημμένα)
Προτεραιότηταnormal/highimmediate/power-saving
Κόστοςδωρεάνδωρεάν (απαιτείται λογαριασμός)

Τύποι Push ειδοποιήσεων

Οι Push ειδοποιήσεις ταξινομούνται ανά τρόπο εμφάνισης και σκοπό. Η κατανόηση των τύπων βοηθά στην επιλογή της σωστής στρατηγικής για κάθε σενάριο αλληλεπίδρασης με τον χρήστη.

Ειδοποιήσεις κειμένου (Display Notifications)

Ο πιο συνηθισμένος τύπος — εμφανιζόμενη ειδοποίηση με τίτλο και σώμα. Το λειτουργικό σύστημα την εμφανίζει αυτόματα στο πλαίσιο ειδοποιήσεων, στην οθόνη κλειδώματος και ως banner. Ο προγραμματιστής μπορεί να ρυθμίσει ήχο, δόνηση, σήμανση εικονιδίου και κουμπιά ενέργειας για άμεσες ενέργειες (απάντηση, άνοιγμα, απόρριψη).

Ειδοποιήσεις δεδομένων (Data Notifications)

Οι ειδοποιήσεις δεδομένων περιέχουν μόνο payload χωρίς οπτική εμφάνιση. Η εφαρμογή τις επεξεργάζεται στο παρασκήνιο: συγχρονίζει δεδομένα, ενημερώνει την προσωρινή μνήμη ή ξεκινά λήψη. Σε Android, οι ειδοποιήσεις δεδομένων παραδίδονται εγγυημένα, σε iOS — μόνο όταν η εφαρμογή είναι ενεργή ή μέσω background fetch.

Πολυμεσικές και rich ειδοποιήσεις

Τα σύγχρονα κινητά λειτουργικά συστήματα υποστηρίζουν εκτεταμένες και πολυμεσικές ειδοποιήσεις με εικόνες, GIF, βίντεο και ήχο. Σε iOS αυτό υλοποιείται μέσω UNNotificationAttachment, σε Android — μέσω BigPictureStyle και InboxStyle για προσαρμογή της εμφάνισης της ειδοποίησης στο πλαίσιο συστήματος.

Σιωπηλές (Silent) ειδοποιήσεις

Οι σιωπηλές ειδοποιήσεις δεν εμφανίζονται στον χρήστη και χρησιμοποιούνται για συγχρονισμό παρασκηνίου. Σε iOS έχουν υψηλή προτεραιότητα για εργασίες όπως η ενημέρωση δεδομένων πριν από το άνοιγμα της εφαρμογής. Το Android τις αντιμετωπίζει ως ειδοποιήσεις δεδομένων με ελάχιστη προτεραιότητα.

Ρύθμιση Push ειδοποιήσεων στο έργο

Η ρύθμιση Push ειδοποιήσεων απαιτεί ενέργειες σε επίπεδο υποδομής, διακομιστή και κώδικα πελάτη. Ας δούμε την τυπική διαδικασία για ένα cross-platform έργο κινητού.

Ρύθμιση FCM για Android

Για Android πρέπει να δημιουργήσετε ένα έργο στο Firebase Console, να προσθέσετε το google-services.json στο έργο και να ρυθμίσετε το FirebaseMessagingService. Το token συσκευής λαμβάνεται μέσω FirebaseInstanceId ή FirebaseMessaging.getInstance().token, στη συνέχεια αποστέλλεται στον διακομιστή μέσω API κατά την πρώτη εκκίνηση ή όταν αλλάζει.

Ρύθμιση APNS για iOS

Για iOS απαιτείται συνδρομή στο Apple Developer Program, δημιουργία Push πιστοποιητικού ή κλειδιού APNS στο Developer Portal και ενεργοποίηση του Capability Push Notifications στο Xcode. Η εγγραφή για ειδοποιήσεις γίνεται μέσω UIApplication.shared.registerForRemoteNotifications με λήψη του deviceToken στο AppDelegate.

swift
import UIKit
import UserNotifications

@main
class AppDelegate: UIResponder,
    UIApplicationDelegate {

    func application(
        _ application: UIApplication,
        didRegisterForRemoteNotificationsWithDeviceToken
        deviceToken: Data
    ) {
        let token = deviceToken
            .map { String.format("%02x", $0) }
            .joined()
        // αποστολή token στον δικό σας διακομιστή
    }
}

Αποστολή από τον διακομιστή

Από την πλευρά του διακομιστή, οι Push ειδοποιήσεις αποστέλλονται μέσω REST API ή Admin SDK. Για FCM χρησιμοποιείται το Firebase Admin SDK (διαθέσιμο για Node.js, Java, Python, Go), για APNS — βιβλιοθήκες pusher (pushy για Java, apn2 για Node.js). Συνιστάται η αποθήκευση token στη βάση δεδομένων με χρονική σήμανση τελευταίας ενημέρωσης.

Ασφάλεια Push ειδοποιήσεων

Η ασφάλεια των Push ειδοποιήσεων είναι κρίσιμη, καθώς μέσω αυτών μπορούν να μεταδοθούν εμπιστευτικά δεδομένα. Και οι δύο πλατφόρμες παρέχουν βασικούς μηχανισμούς προστασίας, αλλά ο προγραμματιστής πρέπει να τους χρησιμοποιεί σωστά.

Κρυπτογράφηση payload

Το payload της Push ειδοποίησης μπορεί να περιέχει προσωπικά δεδομένα χρηστών: ονόματα, ποσά συναλλαγών, συνδέσμους προς μηνύματα. Ακόμα κι αν το κανάλι επικοινωνίας μεταξύ FCM/APNS και συσκευής είναι κρυπτογραφημένο, τα δεδομένα μπορεί να υποκλαπούν σε επίπεδο εφαρμογής κατά την υποκλοπή της ειδοποίησης από λογισμικό τρίτων. Συνιστάται η κρυπτογράφηση ευαίσθητου payload στον διακομιστή με αλγόριθμο AES-256 και η αποκρυπτογράφηση στη συσκευή με κλειδί που αποθηκεύεται στο Keychain (iOS) ή EncryptedSharedPreferences (Android).

Επικύρωση token στον διακομιστή

Το token συσκευής είναι ένα αναγνωριστικό περιόδου σύνδεσης που μπορεί να παραβιαστεί κατά την παραβίαση της συσκευής ή την υποκλοπή κίνησης. Ο διακομιστής εφαρμογής πρέπει να ελέγχει τα token πριν από την αποστολή: να τα συγκρίνει με τη βάση δεδομένων, να παρακολουθεί ανενεργά token και να τα διαγράφει σε επαναλαμβανόμενα σφάλματα InvalidToken. Τα FCM και APNS επιστρέφουν κατάσταση InvalidRegistration για μη έγκυρα token — μην το αγνοείτε.

Προστασία από ανεπιθύμητες ειδοποιήσεις

Χωρίς έλεγχο συχνότητας, οι Push ειδοποιήσεις μπορούν να γίνουν εργαλείο ανεπιθύμητης αλληλογραφίας που ενοχλεί τους χρήστες και μειώνει τη διατήρηση. Ορίστε όρια στον διακομιστή: όχι περισσότερες από 5 ειδοποιήσεις την ώρα σε έναν χρήστη και όχι περισσότερα από 3 ίδια μηνύματα. Για ειδοποιήσεις συναλλαγών (επιβεβαίωση παραγγελίας, αλλαγή κωδικού) τα όρια μπορεί να είναι υψηλότερα — έως 10 την ώρα, καθώς φέρουν κρίσιμες πληροφορίες. Χρησιμοποιήστε περιορισμό ρυθμού σε επίπεδο API αποστολής ώστε ένας εισβολέας να μην μπορεί να πυροδοτήσει μαζική αποστολή μέσω του διακομιστή σας.

Συχνές ερωτήσεις

Μπορούν να σταλούν Push ειδοποιήσεις χωρίς FCM σε Android;

Ναι, η απευθείας σύνδεση στο APNS δεν υποστηρίζεται σε Android — για συσκευές χωρίς Google Play Services χρησιμοποιούνται εναλλακτικές όπως το Huawei Mobile Services (HMS) και δικές τους συνδέσεις WebSocket. Ωστόσο, το FCM παραμένει το πρότυπο για τις περισσότερες εφαρμογές χάρη στη δωρεάν διάθεση και αξιοπιστία του.

Πώς λειτουργεί η παράδοση Push όταν το διαδίκτυο είναι απενεργοποιημένο;

Τα FCM και APNS αποθηκεύουν την τελευταία ειδοποίηση στους διακομιστές τους και την παραδίδουν όταν αποκατασταθεί η σύνδεση. Σε κάθε συσκευή αποθηκεύεται μόνο η τελευταία ειδοποίηση από κάθε εφαρμογή, επομένως κατά παρατεταμένη απουσία δικτύου χάνονται τα ενδιάμεσα μηνύματα.

Γιατί δεν έρχονται Push ειδοποιήσεις σε iOS;

Οι πιο συχνές αιτίες είναι — το πιστοποιητικό Push APNS έχει λήξει (ισχύει 1 έτος), μη έγκυρο token συσκευής, απενεργοποιημένες ειδοποιήσεις στις ρυθμίσεις ή ενεργοποιημένη λειτουργία εξοικονόμησης ενέργειας. Ελέγξτε το πιστοποιητικό στο Apple Developer Console και βεβαιωθείτε ότι η εφαρμογή ζητά άδεια μέσω UNUserNotificationCenter.

Πώς μπορώ να παρακολουθήσω ότι ο χρήστης άνοιξε την Push ειδοποίηση;

Σε Android χρησιμοποιήστε PendingIntent στο NotificationCompat.Builder με παρακολούθηση ανοίγματος μέσω Intent. Σε iOS — η μέθοδος UNUserNotificationCenterDelegate.userNotificationCenter(_:didReceive:withCompletionHandler:). Το FCM παρέχει αναφορές παράδοσης και ανοίγματος για κάθε σταλμένη ειδοποίηση.

Επηρεάζουν οι Push ειδοποιήσεις την μπαταρία;

Ελάχιστα — οι Push ειδοποιήσεις δεν διατηρούν μόνιμη σύνδεση· το λειτουργικό σύστημα χρησιμοποιεί ένα ενιαίο κανάλι συστήματος για όλες τις εφαρμογές, γεγονός που ελαχιστοποιεί τη συνολική κατανάλωση ενέργειας. Η συχνή αποστολή (κάθε 5 λεπτά) καταναλώνει περισσότερη ενέργεια για την αφύπνιση της συσκευής και την έξοδο από κατάσταση αναστολής. Οι σιωπηλές ειδοποιήσεις σε iOS καταναλώνουν περισσότερη ενέργεια λόγω ενεργοποίησης της εφαρμογής στο παρασκήνιο για επεξεργασία των ληφθέντων δεδομένων.

Σύνοψη

  • Push ειδοποιήσεις — μηνύματα διακομιστή στη συσκευή μέσω FCM ή APNS.
  • Token συσκευής — μοναδικό αναγνωριστικό για στοχευμένη παράδοση Push.
  • FCM υποστηρίζει Android, iOS και Web· APNS — μόνο οικοσύστημα Apple.
  • Ειδοποιήσεις δεδομένων επεξεργάζονται στο παρασκήνιο χωρίς εμφάνιση στον χρήστη.
  • Ειδοποιήσεις πολυμέσων σε iOS υποστηρίζουν συνημμένα έως 10 MB, σε Android — μέσω εκτεταμένων στυλ.
  • Πιστοποιητικά APNS απαιτούν ετήσια ανανέωση στο Apple Developer Portal.
  • Περιορισμός ρυθμού FCM και APNS προστατεύει τους χρήστες από ανεπιθύμητες ειδοποιήσεις, περιορίζοντας τη συχνότητα αποστολής σε κάθε συσκευή.

Θα αναπτύξουμε μια εφαρμογή για κινητά έτοιμη για χρήση

Η IT Sectr δημιουργεί εφαρμογές iOS και Android για νεοφυείς επιχειρήσεις και επιχειρήσεις από το 2017. Θα σας συμβουλεύσουμε και θα προτείνουμε την καλύτερη λύση.

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

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