Guideline 4.5.4: notifiche push rifiutate da Apple
Di Mehdi Azizi
Pubblicato il , 9 min
Guideline 4.5.4: una notifica promozionale richiede un consenso esplicito nell'app e un modo per revocarlo, e l'app deve funzionare senza notifiche.
La guideline 4.5.4 regola le notifiche push. La tua app deve funzionare senza, non deve mai inserirci informazioni sensibili e non deve mai usarle per una promozione senza consenso. Una notifica di marketing richiede un consenso scritto nella tua app e un interruttore per revocarlo, oltre all'autorizzazione di iOS.
Pubblico le mie app iOS con Expo. Su TradaZen, il mio simulatore di trading, ho tolto una notifica che annunciava uno sconto e l'ho sostituita con un promemoria senza offerte, dichiarato al reviewer. Questa guida si basa sul testo di Apple, sulla sua licenza per sviluppatori, sulla sua documentazione e su questo caso. Per una panoramica dei motivi di rifiuto, leggi perché Apple rifiuta un'app.
Cosa dice la guideline 4.5.4?
La regola si trova nella sezione 4 "Design", parte 4.5 "Apple Sites and Services", delle App Review Guidelines. Da qui il titolo del rifiuto: "Guideline 4.5.4 - Design - Apple Sites and Services". Il testo fissa tre limiti.
- Nessuna notifica obbligatoria. "Push Notifications must not be required for the app to function." Rifiutare la finestra di iOS non deve bloccare niente.
- Nessuna informazione sensibile. Le notifiche "should not be used to send sensitive personal or confidential information". Una notifica compare sulla schermata di blocco, sotto gli occhi di chiunque.
- Nessuna promozione senza consenso. Il marketing è vietato "unless customers have explicitly opted in to receive them via consent language displayed in your app's UI", con "a method in your app for a user to opt out".
L'ultima frase avverte che gli abusi possono costare l'accesso al servizio. Due regole vicine completano il quadro. La 4.5.3 vieta lo spam tramite notifiche. La 5.1.2(i) vieta di imporre l'attivazione delle notifiche per accedere a una funzione, a un contenuto o a una ricompensa.
Cosa aggiunge la licenza per sviluppatori
Le guidelines parlano di notifiche push. L'allegato 1 dell'Apple Developer Program License Agreement, che hai accettato al momento dell'iscrizione, va oltre su tre punti.
- Le notifiche locali sono incluse. L'articolo 2.2 parla di "the APN or Local Notifications". Un promemoria programmato nell'app, senza server, segue la stessa regola.
- La promozione ha una definizione ampia. Include l'upselling e "sending any messages to promote the use of Your Application or advertise the availability of new features or versions".
- La finestra di iOS non si tocca. L'articolo 1.3 vieta di aggirare il pannello di consenso di Apple. Se il consenso viene negato o revocato, non invii più niente.
La mia lettura: un messaggio "torna nell'app" si avvicina alla promozione, anche senza prezzo. Apple non chiarisce questo caso, ed è per questo che dichiaro questo tipo di promemoria al reviewer.
Cosa significa il messaggio di rifiuto 4.5.4?
Il rifiuto meglio documentato riguarda un'app che non funziona senza notifiche. In un thread del forum B4X del 2018, Apple scrive: "Push notifications must be optional and must obtain the user's consent to be used within the app." Lo sviluppatore segnala poi una schermata nera dopo aver negato l'autorizzazione. L'ipotesi avanzata nel thread: un'interfaccia che aspettava il token di notifica per comparire.
Parti dal presupposto che il reviewer neghi le autorizzazioni per vedere cosa succede. Se l'app si blocca, insiste o toglie una funzione, scatta la 4.5.4 o la 5.1.2(i). Per il marketing senza consenso, non ho trovato messaggi di rifiuto pubblici recenti.
Quale consenso per quale notifica?
La mia tabella incrocia il testo di Apple, la licenza e le linee guida sull'interfaccia. Le righe "fine prova" e "promemoria di ritorno" sono la mia lettura, non una posizione scritta di Apple.
| Tipo di notifica | Consenso richiesto | Esempio conforme |
|---|---|---|
| Risposta a un'azione | Finestra iOS | "Il tuo export è pronto" |
| Promemoria scelto | Finestra iOS | Lezione del giorno alle 19 |
| Fine prova, rinnovo | Finestra iOS | "La tua prova finisce il 12" |
| Promemoria di ritorno | Finestra iOS + prudenza | Senza prezzo, una volta sola |
| Offerta o sconto | Finestra iOS + consenso | Casella spuntata nell'app |
| Novità dell'app | Finestra iOS + consenso | Invio solo agli iscritti |
| Messaggio privato, salute | Mai il contenuto | "Nuovo messaggio" |
| Notifica provvisoria | Nessuna finestra all'inizio | Arriva senza suono né banner |
"Finestra iOS" è l'autorizzazione di sistema. "Consenso" è una scelta separata nella tua app: una frase che dice cosa invierai e un interruttore spento di default.
I promemoria di abbonamento e le offerte
La pagina Managing notifications delle linee guida sull'interfaccia di Apple cita l'abbonamento: una persona può apprezzare "an offer to become a subscriber", se ha accettato le notifiche di marketing. Aggiunge due obblighi: una schermata di impostazioni nell'app per cambiare idea, e mai il livello "Time Sensitive" per il marketing.
Il confine che tengo: un promemoria che informa su un acquisto già fatto non è un'offerta, un messaggio che spinge a comprare lo è. "La tua prova finisce il 12" informa. "50% di sconto per 24 ore" vende. La schermata di acquisto che la notifica apre resta soggetta alla regola 3.1.2.
Le notifiche discrete, o provvisorie
Apple parla di "provisional authorization" nella sua documentazione sulle autorizzazioni. L'app può inviare senza mostrare la finestra di iOS. Le notifiche arrivano senza suono né banner, solo nella cronologia del centro notifiche, con pulsanti per tenerle o disattivarle. Con Expo è un'opzione di requestPermissionsAsync:
import * as Notifications from "expo-notifications";
await Notifications.requestPermissionsAsync({
ios: {
allowAlert: true,
allowBadge: true,
allowSound: true,
allowProvisional: true,
},
});
Il campo ios.status vale allora IosAuthorizationStatus.PROVISIONAL finché la persona non ha scelto. La notifica provvisoria sostituisce la finestra di iOS, non il consenso di marketing. Una promozione inviata in modalità provvisoria resta una promozione.
Attenzione al lessico. Su TradaZen chiamo "notifica discreta" un promemoria dal tono pacato, inviato solo se la finestra di iOS è stata accettata. Non è un'autorizzazione provvisoria.
Implementare il consenso esplicito con Expo
- Chiedi l'autorizzazione iOS nel contesto giusto. Apple consiglia di chiederla dopo un'azione che ne mostri l'utilità, non al primo avvio. Su TradaZen arriva in particolare dopo una ricompensa dell'onboarding o una lezione completata. Stessa logica della richiesta di recensione.
- Aggiungi un consenso di marketing separato. Un interruttore spento di default, con una frase chiara, per esempio: "Ricevi offerte e novità, al massimo una volta a settimana."
- Offri una schermata di impostazioni. Promemoria e offerte si disattivano nell'app, non solo nelle Impostazioni di iOS.
- Filtra all'invio. Il tuo server, o il tuo pianificatore locale, invia una promozione solo a chi ha accettato.
- Fai funzionare tutto anche senza. Rifiutare non blocca né una schermata, né una funzione, né una ricompensa.
TradaZen: la notifica che ho tolto
Il 12 ottobre 2026 una versione di TradaZen viene rifiutata in base alla regola 5.6, che riguarda gli acquisti ottenuti con manipolazione. Apple non indica l'elemento in questione. Ho quindi riletto tutto il funnel di acquisto, notifiche comprese.
Una notifica era un problema. Uscire dall'app durante l'onboarding o sulla schermata di abbonamento programmava questo messaggio locale: "Ho uno sconto esclusivo solo per te." Dipendeva solo dall'autorizzazione di iOS, senza un consenso di marketing separato. È la promozione senza consenso esplicito descritta dalla 4.5.4 e dalla licenza. L'ho eliminata in tutte e trenta le lingue dell'app.
Al suo posto, un promemoria unico: "Il tuo percorso ti aspetta. Riprendi quando vuoi, non c'è fretta." I suoi limiti:
- parte solo se le notifiche sono autorizzate;
- una sola volta per installazione, cinque minuti dopo l'uscita dall'onboarding o dalla schermata di abbonamento;
- viene annullato se la persona torna prima;
- nessun prezzo, nessuno sconto, nessun timer, nessun suono.
Questo promemoria resta nella zona grigia descritta sopra. Non l'ho nascosto: è descritto nelle note per la revisione e nella mia risposta al reviewer. Un promemoria dichiarato si discute, un promemoria nascosto sembra un trucco.
Come rispondere a un rifiuto 4.5.4?
La conversazione avviene in App Store Connect, dove rispondi al messaggio di App Review. Prima correggi: togli l'obbligo, aggiungi il consenso di marketing o ripulisci il testo, poi rifai un build. Il modello che userei, da adattare:
Hello,
Thank you for your feedback on Guideline 4.5.4.
In the new build:
- The app works fully if notifications are denied.
- Promotional notifications are sent only to users
who turn on "[toggle name]" in [screen]. It is off
by default and can be turned off at any time.
- Notifications never include [sensitive data].
How to test:
1. Deny notifications at the first prompt.
2. Open [feature]: it works without them.
3. Open [screen] to see both toggles.
Best regards,
La checklist 4.5.4 prima dell'invio
- L'app si usa per intero dopo aver negato l'autorizzazione, senza schermate bloccate né ricompense tolte.
- La finestra di iOS arriva dopo un'azione utile, mai alla prima schermata.
- Ogni promozione, locale o remota, dipende da un consenso di marketing spento di default.
- Una schermata di impostazioni nell'app disattiva promemoria e offerte.
- Nessun testo di notifica mostra un dato sanitario, un importo o un messaggio privato.
- Nessuna promozione con livello "Time Sensitive".
- Le note per la revisione elencano le notifiche inviate nei primi giorni.
- Hai testato il percorso negando ogni autorizzazione. La guida a TestFlight spiega come installare il tuo build per questo test.
Controllare la tua app prima dell'invio
Il Review Kit riunisce la mia checklist pre-invio, modelli di note per il tester e skill di Claude Code che rileggono il tuo progetto. Per uno sguardo umano, prenota un'ora con me: rileggiamo insieme le tue notifiche e la tua schermata di impostazioni, in videochiamata. Il percorso completo è nella pagina app rifiutata da Apple.
Stai preparando la tua prima uscita? Fai il diagnostic gratuito: rimette in ordine i passaggi e ti invia la mia checklist anti-rifiuto Apple.
Domande frequenti
Cosa significa "Guideline 4.5.4 - Design - Apple Sites and Services"?
È il titolo del rifiuto quando Apple giudica le tue notifiche obbligatorie, troppo indiscrete o promozionali senza consenso. Leggi la frase che segue il titolo: dice cosa ha constatato il reviewer.
Si possono chiedere le notifiche durante l'onboarding?
Sì, se rifiutare non blocca niente e se la richiesta segue un momento che ne mostra l'utilità. Non subordinare mai una ricompensa al consenso: la 5.1.2(i) lo vieta.
Una notifica di fine prova è marketing?
Secondo me no, se informa solo sulla prova in corso. Se propone uno sconto o un altro abbonamento, diventa una promozione e richiede il consenso di marketing.
Le notifiche locali rientrano nella 4.5.4?
La guideline parla di notifiche push, ma l'allegato 1 della licenza per sviluppatori applica la regola sulla promozione anche alle notifiche locali. Trattale allo stesso modo.
Una notifica provvisoria esonera dal consenso di marketing?
No. Evita la finestra di iOS all'inizio, ma una promozione resta una promozione: serve un consenso esplicito nell'app e un modo per revocarlo.

