Notifiche Push nello sviluppo mobile — essenza, tipi e come funzionano

Autore: IT Sectr Pubblicato: 2026-03-19 Tempo di lettura: 8 min

Le notifiche Push sono messaggi inviati dal server a un dispositivo mobile anche quando l’app è chiusa. Secondo Google Firebase, 2024, le notifiche Push vengono elaborate tramite servizi specializzati — FCM su Android e APNS su iOS — che supportano la consegna in tempo reale a milioni di dispositivi contemporaneamente. Sono diventate una parte integrante dell’esperienza utente nelle moderne applicazioni mobili.

Punti chiave

  • Notifiche Push — messaggi dal server consegnati tramite FCM o APNS.
  • FCM (Firebase Cloud Messaging) — il servizio principale per Android con supporto iOS.
  • APNS (Apple Push Notification Service) — il servizio proprietario di Apple per iOS e macOS.
  • Tipi di notifiche si dividono in notifiche di testo, notifiche multimediali e notifiche silenziose.
  • Token del dispositivo — identificatori univoci per la consegna mirata dei messaggi Push.

Cosa sono le notifiche Push?

Le notifiche Push sono messaggi brevi che il server dell’app invia al dispositivo dell’utente senza una richiesta esplicita. Appaiono come banner, badge sull’icona o segnali acustici, attirando l’attenzione dell’utente verso l’app e informandolo sugli eventi importanti.

Definizione e scopo

Una notifica Push consiste in un titolo, un corpo del messaggio e dati opzionali (payload). A differenza degli SMS, le notifiche Push sono gratuite per l’utente e vengono consegnate tramite l’infrastruttura di servizi cloud — FCM per Android e APNS per iOS. Gli obiettivi principali delle notifiche Push sono: aumentare il coinvolgimento, informare sugli eventi e riportare l’utente nell’app.

Le statistiche di utilizzo mostrano che le notifiche Push configurate correttamente aumentano la fidelizzazione dell’app del 30–60%. Tuttavia, una frequenza eccessiva di notifiche porta a disiscrizioni — oltre il 60% degli utenti disattiva le notifiche se vengono inviate più di tre volte al giorno.

Architettura del sistema Push

Un sistema Push include tre componenti: il server dell’app, il servizio di piattaforma (FCM/APNS) e l’app client sul dispositivo. Il server invia una richiesta al servizio di piattaforma, che consegna la notifica al dispositivo di destinazione tramite una connessione persistente con il sistema operativo.

Come funzionano le notifiche Push?

Il meccanismo di consegna delle notifiche Push si basa su una connessione persistente tra il dispositivo e il servizio di piattaforma. Il sistema operativo mantiene un canale di comunicazione crittografato attraverso cui passano tutti i messaggi Push.

Registrazione e ottenimento del token

Al primo avvio, l’app richiede l’autorizzazione per inviare notifiche e riceve un token univoco del dispositivo da FCM o APNS. Questo token è una stringa lunga fino a 4 KB che identifica in modo univoco l’istanza dell’app. Il token cambia quando l’app viene reinstallata o il dispositivo viene ripristinato da un backup.

kotlin
class FirebaseMessagingService :
    FirebaseMessagingService() {

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

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

Invio tramite il server dell’app

Il server dell’app invia una richiesta HTTP all’API FCM o all’API APNS, specificando il token di destinazione, il titolo, il corpo e i dati aggiuntivi. Il servizio di piattaforma risponde con uno stato di consegna: successo, token non valido (il dispositivo ha disinstallato l’app) o limite di velocità superato.

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: "Nuovo messaggio",
            body: "Hai una nuova notifica!"
        }
    })
})

FCM vs APNS: Confronto delle piattaforme

La scelta tra FCM e APNS dipende dalla piattaforma di destinazione. FCM supporta Android e iOS, mentre APNS supporta solo l’ecosistema Apple. Esaminiamo le principali differenze importanti per lo sviluppo di app mobili multipiattaforma.

Firebase Cloud Messaging (FCM)

FCM è un servizio Google che funziona su Google Play Services. Supporta due schemi di consegna: notifiche con visualizzazione automatica e notifiche di dati che l’app gestisce da sola. FCM è gratuito e non ha limiti sul numero di messaggi inviati.

Apple Push Notification Service (APNS)

APNS è il servizio di Apple con supporto per allegati multimediali (immagini, video, audio) fino a 10 MB. L’invio tramite APNS richiede un certificato TLS o una chiave di autenticazione. APNS limita la frequenza di invio a un singolo dispositivo — non più di 150 notifiche al minuto, dopodiché si attiva la limitazione della velocità.

CaratteristicaFCMAPNS
PiattaformeAndroid, iOS, WebiOS, macOS, watchOS
RequisitiGoogle Play ServicesApple Developer Program
Multimediafino a 4 KB (dati)fino a 10 MB (allegati)
Prioritànormale/altaimmediata/risparmio energetico
Costogratuitogratuito (conto necessario)

Tipi di notifiche Push

Le notifiche Push sono classificate per metodo di visualizzazione e scopo. Comprendere i tipi aiuta a scegliere la strategia giusta per ogni scenario di interazione con l’utente.

Notifiche di visualizzazione (Display Notifications)

Il tipo più comune — una notifica visualizzata con titolo e corpo. Il sistema operativo la mostra automaticamente nel pannello notifiche, sulla schermata di blocco e come banner. Lo sviluppatore può configurare suono, vibrazione, badge dell’icona e pulsanti di azione per azioni dirette (rispondi, apri, ignora).

Notifiche di dati (Data Notifications)

Le notifiche di dati contengono solo payload senza visualizzazione. L’app le elabora in background: sincronizza i dati, aggiorna la cache o avvia download. Su Android, le notifiche di dati vengono consegnate in modo affidabile; su iOS, solo quando l’app è attiva o attraverso il recupero in background.

Notifiche multimediali e rich

I sistemi operativi mobili moderni supportano notifiche rich e multimediali con immagini, GIF, video e audio. Su iOS, questo è implementato tramite UNNotificationAttachment; su Android, tramite BigPictureStyle e InboxStyle per personalizzare l’aspetto della notifica nel pannello di sistema.

Notifiche silenziose (Silent)

Le notifiche silenziose non vengono mostrate all’utente e vengono utilizzate per la sincronizzazione in background. Su iOS, hanno alta priorità per attività come l’aggiornamento dei dati prima di aprire l’app. Android le tratta come notifiche di dati con priorità minima.

Configurazione delle notifiche Push in un progetto

La configurazione delle notifiche Push richiede azioni a livello di infrastruttura, server e codice client. Esaminiamo il processo tipico per un progetto mobile multipiattaforma.

Configurazione FCM per Android

Per Android, è necessario creare un progetto nella Firebase Console, aggiungere google-services.json al progetto e configurare FirebaseMessagingService. Il token del dispositivo si ottiene tramite FirebaseInstanceId o FirebaseMessaging.getInstance().token, dopodiché viene inviato al server tramite API al primo avvio o al momento del cambiamento.

Configurazione APNS per iOS

Per iOS, sono necessari un abbonamento Apple Developer Program, la creazione di un certificato Push o di una chiave APNS nel Developer Portal e l’attivazione della funzionalità Push Notifications in Xcode. La registrazione delle notifiche avviene tramite UIApplication.shared.registerForRemoteNotifications, ricevendo il deviceToken in 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()
        // invia token al tuo server
    }
}

Invio lato server

Lato server, le notifiche Push vengono inviate tramite REST API o Admin SDK. FCM utilizza Firebase Admin SDK (disponibile per Node.js, Java, Python, Go), mentre APNS utilizza librerie pusher (pushy per Java, apn2 per Node.js). Si raccomanda di memorizzare i token in un database con timestamp dell’ultimo aggiornamento.

Sicurezza delle notifiche Push

La sicurezza delle notifiche Push è di fondamentale importanza, poiché dati riservati possono essere trasmessi attraverso di esse. Entrambe le piattaforme forniscono meccanismi di protezione di base, ma lo sviluppatore deve usarli correttamente.

Crittografia del payload

Il payload di una notifica Push può contenere dati personali degli utenti: nomi, importi delle transazioni, link ai messaggi. Anche se il canale di comunicazione tra FCM/APNS e il dispositivo è crittografato, i dati possono essere intercettati a livello di app se un software di terze parti intercetta la notifica. Si raccomanda di crittografare il payload sensibile sul server utilizzando AES-256 e decrittografarlo sul dispositivo utilizzando una chiave memorizzata in Keychain (iOS) o EncryptedSharedPreferences (Android).

Validazione dei token sul server

Il token del dispositivo è un identificatore di sessione che può essere compromesso in caso di hacking del dispositivo o intercettazione del traffico. Il server dell’app deve validare i token prima dell’invio: verificarli con il database, tracciare i token inattivi e rimuoverli in caso di errori InvalidToken ripetuti. FCM e APNS restituiscono lo stato InvalidRegistration per token non validi — non ignorarlo.

Protezione dallo spam di notifiche

Senza controllo della frequenza, le notifiche Push possono diventare uno strumento di spam che infastidisce gli utenti e riduce la fidelizzazione. Imposta limiti lato server: non più di 5 notifiche all’ora per un singolo utente e non più di 3 messaggi identici. Per le notifiche transazionali (conferma ordine, cambio password), i limiti possono essere più alti — fino a 10 all’ora, poiché contengono informazioni critiche. Utilizza la limitazione della velocità a livello di API di invio in modo che un utente malintenzionato non possa attivare notifiche di massa tramite il tuo server.

Domande frequenti

È possibile inviare notifiche Push senza FCM su Android?

Sì, ma la connessione diretta ad APNS non è supportata su Android — i dispositivi senza Google Play Services utilizzano alternative come Huawei Mobile Services (HMS) e connessioni WebSocket personalizzate. Tuttavia, FCM rimane lo standard per la maggior parte delle app grazie alla sua gratuità e affidabilità.

Come funziona la consegna Push quando Internet è spento?

FCM e APNS conservano l’ultima notifica sui propri server e la consegnano quando la connessione viene ripristinata. Ogni dispositivo memorizza solo l’ultima notifica di ciascuna app, quindi i messaggi intermedi vengono persi durante l’assenza prolungata di rete.

Perché le notifiche Push non arrivano su iOS?

Le ragioni più comuni sono un certificato Push scaduto (valido 1 anno), un token del dispositivo non valido, notifiche disattivate nelle impostazioni o modalità risparmio energetico attivata. Controlla il certificato nella Apple Developer Console e assicurati che l’app richieda l’autorizzazione tramite UNUserNotificationCenter.

Come tracciare se un utente ha aperto una notifica Push?

Su Android, utilizza PendingIntent in NotificationCompat.Builder con tracciamento dell’apertura tramite Intent. Su iOS, utilizza il metodo UNUserNotificationCenterDelegate.userNotificationCenter(_:didReceive:withCompletionHandler:). FCM fornisce report di consegna e apertura per ogni notifica inviata.

Le notifiche Push influiscono sulla durata della batteria?

Minimamente — le notifiche Push non mantengono una connessione costante; il sistema operativo utilizza un unico canale di sistema per tutte le app, riducendo al minimo il consumo energetico complessivo. L’invio frequente (ogni 5 minuti) consuma più energia riattivando il dispositivo dalla modalità sospensione. Le notifiche silenziose su iOS consumano più batteria a causa dell’attivazione dell’app in background per elaborare i dati ricevuti.

Riepilogo

  • Notifiche Push — messaggi dal server al dispositivo tramite FCM o APNS.
  • Token del dispositivo — identificatore univoco per la consegna mirata di Push.
  • FCM supporta Android, iOS e Web; APNS solo l’ecosistema Apple.
  • Notifiche di dati vengono elaborate in background senza essere mostrate all’utente.
  • Notifiche multimediali su iOS supportano allegati fino a 10 MB; su Android, tramite stili estesi.
  • Certificati APNS richiedono rinnovo annuale nell’Apple Developer Portal.
  • Limitazione della velocità in FCM e APNS protegge gli utenti dallo spam di notifiche, limitando la frequenza di invio per ciascun dispositivo.

Svilupperemo un'applicazione mobile chiavi in mano

IT Sectr crea applicazioni iOS e Android per startup e aziende dal 2017. Ti consulteremo e ti proporremo la soluzione migliore.

Discuti il progetto

Leggi anche