Guideline 4.5.4 : notifications push refusées par Apple
Par Mehdi Azizi
Publié le , 9 min
Guideline 4.5.4 : une notification promotionnelle exige un accord explicite dans l'app et un moyen de se retirer, et l'app doit marcher sans notifications.
La guideline 4.5.4 encadre les notifications push. Ton app doit fonctionner sans elles, ne jamais y glisser d'information sensible, et ne jamais s'en servir pour une promotion sans accord. Une notification marketing demande un consentement écrit dans ton app et un interrupteur pour le retirer, en plus de l'autorisation d'iOS.
Je publie mes propres apps iOS avec Expo. Sur TradaZen, mon simulateur de trading, j'ai retiré une notification qui annonçait une réduction, et je l'ai remplacée par un rappel sans offre, déclaré au reviewer. Ce guide s'appuie sur le texte d'Apple, sa licence développeur, sa documentation et ce cas. Pour la vue d'ensemble des motifs de refus, lis pourquoi Apple refuse une app.
Que dit la guideline 4.5.4 ?
La règle se trouve dans la section 4 « Design », partie 4.5 « Apple Sites and Services », des App Review Guidelines. D'où l'intitulé du refus : « Guideline 4.5.4 - Design - Apple Sites and Services ». Le texte pose trois limites.
- Pas de notification obligatoire. « Push Notifications must not be required for the app to function. » Refuser la fenêtre d'iOS ne doit rien bloquer.
- Pas d'information sensible. Elles « should not be used to send sensitive personal or confidential information ». Une notification s'affiche sur l'écran verrouillé, sous les yeux de n'importe qui.
- Pas de promotion sans accord. Le marketing est interdit « unless customers have explicitly opted in to receive them via consent language displayed in your app's UI », avec « a method in your app for a user to opt out ».
La dernière phrase prévient que les abus peuvent coûter l'accès au service. Deux règles voisines complètent le tableau. La 4.5.3 interdit le spam par notification. La 5.1.2(i) interdit d'exiger l'activation des notifications pour accéder à une fonction, à un contenu ou à une récompense.
Ce que la licence développeur ajoute
Les guidelines parlent des notifications push. L'annexe 1 de l'Apple Developer Program License Agreement, acceptée à ton inscription, va plus loin sur trois points.
- Les notifications locales sont concernées. L'article 2.2 vise « the APN or Local Notifications ». Un rappel programmé dans l'app, sans serveur, suit la même règle.
- La promotion est définie largement. Elle inclut la vente additionnelle et « sending any messages to promote the use of Your Application or advertise the availability of new features or versions ».
- La fenêtre d'iOS est intouchable. L'article 1.3 interdit de contourner le panneau de consentement d'Apple. Si l'accord est refusé ou retiré, tu n'envoies plus rien.
Ma lecture : un message « reviens dans l'app » se rapproche de la promotion, même sans prix. Apple ne tranche pas ce cas, et c'est pour ça que je déclare ce genre de rappel au reviewer.
Que veut dire le message de refus 4.5.4 ?
Le refus le mieux documenté vise une app qui ne marche pas sans notifications. Dans un fil du forum B4X de 2018, Apple écrit : « Push notifications must be optional and must obtain the user's consent to be used within the app. » Le développeur signale ensuite un écran noir après un refus d'autorisation. La piste avancée dans le fil : une interface qui attendait le jeton de notification pour s'afficher.
Pars du principe que le reviewer refuse les autorisations pour voir ce qui se passe. Si l'app se bloque, insiste ou retire une fonction, la 4.5.4 ou la 5.1.2(i) tombe. Pour le marketing sans accord, je n'ai pas trouvé de message de refus public récent.
Quel accord pour quelle notification ?
Ma grille croise le texte d'Apple, la licence et le guide d'interface. Les lignes « fin d'essai » et « rappel de retour » sont ma lecture, pas une position écrite d'Apple.
| Type de notification | Accord requis | Exemple conforme |
|---|---|---|
| Réponse à une action | Fenêtre iOS | « Ton export est prêt » |
| Rappel choisi | Fenêtre iOS | Leçon du jour à 19 h |
| Fin d'essai, renouvellement | Fenêtre iOS | « Fin de ton essai le 12 » |
| Rappel de retour | Fenêtre iOS + prudence | Sans prix, une seule fois |
| Offre ou réduction | Fenêtre iOS + accord | Case cochée dans l'app |
| Nouveautés de l'app | Fenêtre iOS + accord | Envoi aux seuls inscrits |
| Message privé, santé | Jamais de contenu | « Nouveau message » |
| Notification provisoire | Aucune fenêtre au départ | Arrive sans son ni bannière |
« Fenêtre iOS », c'est l'autorisation du système. « Accord », c'est un choix à part dans ton app : une phrase qui dit ce que tu enverras, et un interrupteur éteint par défaut.
Les rappels d'abonnement et les offres
La page Managing notifications du guide d'interface d'Apple cite l'abonnement : une personne peut apprécier « an offer to become a subscriber », si elle a accepté les notifications marketing. Elle ajoute deux obligations : un écran de réglages dans l'app pour changer d'avis, et jamais le niveau « Time Sensitive » pour du marketing.
La frontière que je retiens : un rappel qui informe sur un achat déjà fait n'est pas une offre, un message qui pousse à acheter en est une. « Fin de ton essai le 12 » informe. « 50 % de réduction pendant 24 h » vend. L'écran d'achat que la notification ouvre reste soumis à la règle 3.1.2.
Les notifications douces, ou provisoires
Apple parle de « provisional authorization » dans sa documentation sur les autorisations. L'app peut envoyer sans afficher la fenêtre d'iOS. Les notifications arrivent sans son ni bannière, seulement dans l'historique du centre de notifications, avec des boutons pour les garder ou les couper. Avec Expo, c'est une option de requestPermissionsAsync :
import * as Notifications from "expo-notifications";
await Notifications.requestPermissionsAsync({
ios: {
allowAlert: true,
allowBadge: true,
allowSound: true,
allowProvisional: true,
},
});
Le champ ios.status vaut alors IosAuthorizationStatus.PROVISIONAL tant que la personne n'a pas choisi. La notification provisoire remplace la fenêtre d'iOS, pas l'accord marketing. Une promotion envoyée en provisoire reste une promotion.
Attention au vocabulaire. Sur TradaZen, j'appelle « notification douce » un rappel au ton calme, envoyé seulement si la fenêtre d'iOS a été acceptée. Ce n'est pas une autorisation provisoire.
Mettre en place l'accord explicite avec Expo
- Demande l'autorisation iOS en contexte. Apple conseille de la demander après une action qui en montre l'intérêt, pas au premier lancement. Sur TradaZen, elle arrive notamment après une récompense de l'onboarding ou une leçon terminée. Même logique que pour la demande de note.
- Ajoute un accord marketing à part. Un interrupteur éteint par défaut, avec une phrase claire, par exemple : « Recevoir les offres et les nouveautés, une fois par semaine au plus. »
- Donne un écran de réglages. Rappels et offres se coupent dans l'app, pas seulement dans les Réglages d'iOS.
- Filtre à l'envoi. Ton serveur, ou ton planificateur local, n'envoie une promotion qu'aux personnes qui ont accepté.
- Laisse tout fonctionner sans. Refuser ne bloque ni un écran, ni une fonction, ni une récompense.
TradaZen : la notification que j'ai retirée
Le 12 octobre 2026, une version de TradaZen est refusée au titre de la règle 5.6, qui vise les achats obtenus par manipulation. Apple ne désigne pas l'élément visé. J'ai donc relu tout le tunnel d'achat, notifications comprises.
Une notification posait problème. Quitter l'app pendant l'onboarding ou sur l'écran d'abonnement programmait ce message local : « J'ai une réduction exclusive juste pour toi. » Il ne dépendait que de l'autorisation d'iOS, sans accord marketing à part. C'est la promotion sans accord explicite que décrivent la 4.5.4 et la licence. Je l'ai supprimée dans les trente langues de l'app.
À sa place, un rappel unique : « Ton parcours t'attend. Reprends quand tu veux, rien ne presse. » Ses limites :
- il part seulement si les notifications sont autorisées ;
- une seule fois par installation, cinq minutes après avoir quitté l'onboarding ou l'écran d'abonnement ;
- il est annulé si la personne revient avant ;
- aucun prix, aucune réduction, aucun minuteur, aucun son.
Ce rappel reste dans la zone grise décrite plus haut. Je ne l'ai pas caché : il est décrit dans les notes de revue et dans ma réponse au reviewer. Un rappel déclaré se discute, un rappel caché ressemble à une manœuvre.
Comment répondre à un refus 4.5.4 ?
La conversation se tient dans App Store Connect, où tu réponds au message d'App Review. Corrige d'abord : retire l'obligation, ajoute l'accord marketing ou nettoie le texte, puis refais un build. Le modèle que j'utiliserais, à adapter :
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 avant soumission
- L'app s'utilise en entier après un refus d'autorisation, sans écran bloqué ni récompense retirée.
- La fenêtre d'iOS arrive après une action utile, jamais au premier écran.
- Chaque promotion, locale ou distante, dépend d'un accord marketing éteint par défaut.
- Un écran de réglages dans l'app coupe les rappels et les offres.
- Aucun texte de notification ne montre une donnée de santé, un montant ou un message privé.
- Aucune promotion en niveau « Time Sensitive ».
- Les notes de revue listent les notifications envoyées pendant les premiers jours.
- Tu as testé le parcours en refusant chaque autorisation. Le guide TestFlight montre comment installer ton build pour ce test.
Vérifier ton dossier avant l'envoi
Le Kit Review Apple réunit ma checklist avant l'envoi, des modèles de notes pour le testeur et des skills Claude Code qui relisent ton projet. Pour un regard humain, réserve une heure avec moi : on relit tes notifications et ton écran de réglages ensemble, en visio. La démarche complète est sur la page application refusée par Apple.
Tu prépares ta première sortie ? Fais ton diagnostic gratuit : il remet les étapes dans l'ordre et t'envoie ma checklist anti-refus Apple.
Questions fréquentes
Que veut dire « Guideline 4.5.4 - Design - Apple Sites and Services » ?
C'est l'intitulé du refus quand Apple juge tes notifications obligatoires, trop indiscrètes ou promotionnelles sans accord. Lis la phrase qui suit l'intitulé : elle dit ce que le reviewer a constaté.
Peut-on demander les notifications pendant l'onboarding ?
Oui, si refuser ne bloque rien et si la demande suit un moment qui en montre l'intérêt. Ne conditionne jamais une récompense à l'accord : la 5.1.2(i) l'interdit.
Une notification de fin d'essai est-elle du marketing ?
Ma lecture : non, si elle informe seulement sur l'essai en cours. Si elle propose une réduction ou un autre abonnement, elle devient une promotion et demande l'accord marketing.
Les notifications locales sont-elles concernées par la 4.5.4 ?
La guideline parle des notifications push, mais l'annexe 1 de la licence développeur applique la règle sur la promotion aux notifications locales. Traite-les de la même façon.
Une notification provisoire dispense-t-elle de l'accord marketing ?
Non. Elle évite la fenêtre d'iOS au départ, mais une promotion reste une promotion : il lui faut un accord explicite dans l'app et un moyen de se retirer.

