# Guideline 4.5.4: notificări push respinse de Apple

> Guideline 4.5.4: o notificare promoțională cere acord explicit în aplicație și o cale de retragere, iar aplicația trebuie să meargă fără notificări.

Pagina originală: [Guideline 4.5.4: notificări push respinse de Apple](https://devoria.fr/ro/blog/guideline-4-5-4-notificari-push-respinse-apple)
Autor: [Mehdi Azizi](https://devoria.fr/ro/mehdi-azizi)
Publicare: 2026-11-04
Ultima revizuire a conținutului: 2026-11-04


Guideline 4.5.4 reglementează notificările push. Aplicația ta trebuie să funcționeze fără ele, să nu strecoare niciodată informații sensibile în ele și să nu le folosească niciodată pentru promovare fără acord. **O notificare de marketing cere un consimțământ scris în aplicația ta și un comutator ca să-l retragi, pe lângă permisiunea din iOS.**

Îmi public propriile aplicații iOS cu Expo. Pe TradaZen, simulatorul meu de trading, am scos o notificare care anunța o reducere și am înlocuit-o cu un memento fără ofertă, declarat reviewerului. Ghidul ăsta se bazează pe textul Apple, pe licența de dezvoltator, pe documentația lor și pe cazul ăsta. Pentru imaginea de ansamblu a motivelor de respingere, citește [de ce respinge Apple o aplicație](https://devoria.fr/ro/blog/aplicatie-respinsa-apple-cazuri-reale).

## Ce spune guideline 4.5.4?

Regula se află în secțiunea 4 „Design”, partea 4.5 „Apple Sites and Services”, din [App Review Guidelines](https://developer.apple.com/app-store/review/guidelines/#4.5.4). De aici și titlul respingerii: „Guideline 4.5.4 - Design - Apple Sites and Services”. Textul stabilește trei limite.

1. **Nicio notificare obligatorie.** „Push Notifications must not be required for the app to function.” Dacă refuzi fereastra din iOS, nu trebuie să se blocheze nimic.
2. **Nicio informație sensibilă.** Ele „should not be used to send sensitive personal or confidential information”. O notificare apare pe ecranul blocat, sub ochii oricui.
3. **Nicio promovare fără acord.** Marketingul e interzis „unless customers have explicitly opted in to receive them via consent language displayed in your app's UI”, cu „a method in your app for a user to opt out”.

Ultima frază avertizează că abuzurile te pot costa accesul la serviciu. Două reguli vecine completează tabloul. 4.5.3 interzice spamul prin notificări. [5.1.2(i)](https://devoria.fr/ro/blog/guideline-5-1-2-ai-terta-att-partajare-date) interzice să condiționezi accesul la o funcție, un conținut sau o recompensă de activarea notificărilor.

## Ce adaugă licența de dezvoltator

Ghidurile vorbesc despre notificările push. Anexa 1 din [Apple Developer Program License Agreement](https://developer.apple.com/support/terms/apple-developer-program-license-agreement/#A1), pe care ai acceptat-o la înscriere, merge mai departe în trei puncte.

- **Sunt vizate și notificările locale.** Articolul 2.2 vorbește despre „the APN or Local Notifications”. Un memento programat în aplicație, fără server, urmează aceeași regulă.
- **Promovarea e definită larg.** Include vânzarea suplimentară și „sending any messages to promote the use of Your Application or advertise the availability of new features or versions”.
- **Fereastra din iOS e de neatins.** Articolul 1.3 interzice ocolirea panoului de consimțământ Apple. Dacă acordul e refuzat sau retras, nu mai trimiți nimic.

Interpretarea mea: **un mesaj de tip „revino în aplicație” se apropie de promovare, chiar și fără preț.** Apple nu tranșează cazul ăsta, și de aceea declar acest gen de memento reviewerului.

## Ce înseamnă mesajul de respingere 4.5.4?

Respingerea cea mai bine documentată vizează o aplicație care nu merge fără notificări. Într-un [thread pe forumul B4X](https://www.b4x.com/android/forum/threads/apple-app-store-rejected.89295/) din 2018, Apple scrie: „Push notifications must be optional and must obtain the user's consent to be used within the app.” Dezvoltatorul semnalează apoi un ecran negru după refuzarea permisiunii. Pista propusă în thread: o interfață care aștepta tokenul de notificare ca să se afișeze.

**Pornește de la ideea că reviewerul refuză permisiunile ca să vadă ce se întâmplă.** Dacă aplicația se blochează, insistă sau scoate o funcție, pică 4.5.4 sau 5.1.2(i). Pentru marketing fără acord, n-am găsit niciun mesaj de respingere public recent.

## Ce acord pentru ce notificare?

Grila mea combină textul Apple, licența și ghidul de interfață. Rândurile „sfârșit de perioadă de probă” și „memento de revenire” sunt interpretarea mea, nu o poziție scrisă a Apple.

| Tip de notificare           | Acord necesar              | Exemplu conform                      |
| --------------------------- | -------------------------- | ------------------------------------ |
| Răspuns la o acțiune        | Fereastra iOS              | „Exportul tău e gata”                |
| Memento ales                | Fereastra iOS              | Lecția zilei la 19:00                |
| Sfârșit de probă, reînnoire | Fereastra iOS              | „Perioada de probă se termină pe 12” |
| Memento de revenire         | Fereastra iOS + prudență   | Fără preț, o singură dată            |
| Ofertă sau reducere         | Fereastra iOS + acord      | Căsuță bifată în aplicație           |
| Noutăți din aplicație       | Fereastra iOS + acord      | Trimise doar celor abonați           |
| Mesaj privat, sănătate      | Niciodată conținut         | „Mesaj nou”                          |
| Notificare provizorie       | Nicio fereastră la început | Vine fără sunet și fără banner       |

„Fereastra iOS” e permisiunea sistemului. „Acord” e o alegere separată în aplicația ta: o frază care spune ce vei trimite și un comutator oprit implicit.

### Mementourile de abonament și ofertele

Pagina [Managing notifications](https://developer.apple.com/design/human-interface-guidelines/managing-notifications) din ghidul de interfață Apple pomenește abonamentul: cineva poate aprecia „an offer to become a subscriber”, dacă a acceptat notificările de marketing. Adaugă două obligații: un ecran de setări în aplicație ca să te poți răzgândi și niciodată nivelul „Time Sensitive” pentru marketing.

Granița pe care o rețin: **un memento care informează despre o achiziție deja făcută nu e o ofertă, un mesaj care împinge la cumpărare este.** „Perioada ta de probă se termină pe 12” informează. „50 % reducere timp de 24 h” vinde. Ecranul de cumpărare pe care îl deschide notificarea rămâne supus [regulii 3.1.2](https://devoria.fr/ro/blog/guideline-3-1-2-aplicatie-respinsa-abonament).

## Notificările blânde, sau provizorii

Apple vorbește despre „provisional authorization” în [documentația despre permisiuni](https://developer.apple.com/documentation/usernotifications/asking-permission-to-use-notifications). Aplicația poate trimite fără să afișeze fereastra din iOS. Notificările vin fără sunet și fără banner, doar în istoricul centrului de notificări, cu butoane ca să le păstrezi sau să le oprești. Cu Expo, e o opțiune din [requestPermissionsAsync](https://docs.expo.dev/versions/latest/sdk/notifications/):

```ts
import * as Notifications from "expo-notifications";

await Notifications.requestPermissionsAsync({
  ios: {
    allowAlert: true,
    allowBadge: true,
    allowSound: true,
    allowProvisional: true,
  },
});
```

Câmpul `ios.status` are atunci valoarea `IosAuthorizationStatus.PROVISIONAL` cât timp persoana n-a ales. **Notificarea provizorie înlocuiește fereastra din iOS, nu acordul de marketing.** O promoție trimisă provizoriu rămâne o promoție.

Atenție la vocabular. Pe TradaZen, numesc „notificare blândă” un memento pe un ton calm, trimis doar dacă fereastra din iOS a fost acceptată. Nu e o autorizare provizorie.

## Cum pui în practică acordul explicit cu Expo

1. **Cere permisiunea iOS în context.** Apple recomandă s-o ceri după o acțiune care îi arată utilitatea, nu la prima lansare. Pe TradaZen, apare mai ales după o recompensă din onboarding sau după o lecție terminată. Aceeași logică ca la [cererea de rating](https://devoria.fr/ro/blog/guideline-5-6-3-cerere-recenzie-respingere-app).
2. **Adaugă un acord de marketing separat.** Un comutator oprit implicit, cu o frază clară, de exemplu: „Primește oferte și noutăți, cel mult o dată pe săptămână.”
3. **Oferă un ecran de setări.** Mementourile și ofertele se opresc din aplicație, nu doar din Settings din iOS.
4. **Filtrează la trimitere.** Serverul tău, sau planificatorul local, trimite o promoție doar persoanelor care au acceptat.
5. **Lasă totul să funcționeze și fără.** Refuzul nu blochează niciun ecran, nicio funcție, nicio recompensă.

## TradaZen: notificarea pe care am scos-o

Pe 12 octombrie 2026, o versiune TradaZen e respinsă în baza regulii 5.6, care vizează achizițiile obținute prin manipulare. Apple nu spune ce element anume e vizat. Așa că am recitit tot fluxul de cumpărare, inclusiv notificările.

O notificare era problematică. Dacă ieșeai din aplicație în timpul onboardingului sau de pe ecranul de abonament, se programa mesajul local: „Am o reducere exclusivă doar pentru tine.” Depindea doar de permisiunea iOS, fără acord de marketing separat. **Asta e exact promovarea fără acord explicit descrisă de 4.5.4 și de licență.** Am șters-o în toate cele treizeci de limbi ale aplicației.

În locul ei, un singur memento: „Parcursul tău te așteaptă. Reia când vrei, nu te grăbește nimeni.” Limitele lui:

- pleacă doar dacă notificările sunt permise;
- o singură dată per instalare, la cinci minute după ce ai ieșit din onboarding sau de pe ecranul de abonament;
- e anulat dacă persoana revine înainte;
- niciun preț, nicio reducere, niciun cronometru, niciun sunet.

Mementoul ăsta rămâne în zona gri descrisă mai sus. Nu l-am ascuns: e descris în notele de review și în răspunsul meu către reviewer. **Un memento declarat se poate discuta, unul ascuns arată a manevră.**

## Cum răspunzi la o respingere 4.5.4?

Conversația are loc în App Store Connect, unde [răspunzi la mesajul App Review](https://developer.apple.com/help/app-store-connect/manage-submissions-to-app-review/reply-to-app-review-messages/). Mai întâi corectezi: scoți obligația, adaugi acordul de marketing sau cureți textul, apoi faci un build nou. Modelul pe care l-aș folosi, de adaptat:

```text
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,
```

## Checklistul 4.5.4 înainte de trimitere

- Aplicația se poate folosi complet după refuzarea permisiunii, fără ecran blocat sau recompensă retrasă.
- Fereastra din iOS apare după o acțiune utilă, niciodată pe primul ecran.
- Fiecare promoție, locală sau la distanță, depinde de un acord de marketing oprit implicit.
- Un ecran de setări din aplicație oprește mementourile și ofertele.
- Niciun text de notificare nu arată date de sănătate, o sumă sau un mesaj privat.
- Nicio promoție la nivelul „Time Sensitive”.
- Notele de review enumeră notificările trimise în primele zile.
- Ai testat parcursul refuzând fiecare permisiune. Ghidul [TestFlight](https://devoria.fr/ro/blog/testflight-testare-aplicatie-iphone) arată cum îți instalezi build-ul pentru testul ăsta.

## Verifică-ți dosarul înainte de trimitere

[Review Kit](https://devoria.fr/ro/kits/app-review) adună checklistul meu dinainte de trimitere, modele de note pentru tester și skills Claude Code care îți verifică proiectul. Pentru o privire umană, [rezervă o oră cu mine](https://devoria.fr/ro/coaching): ne uităm împreună la notificări și la ecranul de setări, pe video. Demersul complet e pe pagina [aplicație respinsă de Apple](https://devoria.fr/ro/expertise/aplicatie-respinsa-de-apple).

Îți pregătești prima lansare? [Fă diagnosticul gratuit](https://devoria.fr/ro/diagnostic): pune pașii în ordine și îți trimite checklistul meu anti-respingere Apple.

## Întrebări frecvente

### Ce înseamnă „Guideline 4.5.4 - Design - Apple Sites and Services”?

E titlul respingerii când Apple consideră că notificările tale sunt obligatorii, prea indiscrete sau promoționale fără acord. Citește fraza de după titlu: spune ce a constatat reviewerul.

### Pot cere notificările în timpul onboardingului?

Da, dacă refuzul nu blochează nimic și dacă cererea vine după un moment care îi arată utilitatea. Nu condiționa niciodată o recompensă de acord: 5.1.2(i) interzice asta.

### O notificare de sfârșit de perioadă de probă e marketing?

Interpretarea mea: nu, dacă doar informează despre perioada de probă în curs. Dacă propune o reducere sau alt abonament, devine promoție și cere acordul de marketing.

### Notificările locale sunt vizate de 4.5.4?

Ghidul vorbește despre notificările push, dar anexa 1 din licența de dezvoltator aplică regula despre promovare și notificărilor locale. Tratează-le la fel.

### O notificare provizorie te scutește de acordul de marketing?

Nu. Evită fereastra din iOS la început, dar o promoție rămâne o promoție: are nevoie de un acord explicit în aplicație și de o cale de retragere.


## Proiectul tău

[Review Kit](https://devoria.fr/ro/kits/app-review): Checklistul meu de review App Store, respingerile mele de la Apple rezolvate, checklistul pentru Google Play și trei skilluri Claude Code. 259 RON.

[iOS & Android Kit](https://devoria.fr/ro/kits/ios): Creează-ți aplicația de iPhone și Android cu Claude Code: codul de pornire al aplicațiilor mele, drumul până în store-uri și toate kiturile. 529 RON.

[Diagnostic: ce te desparte de aplicația ta de iPhone](https://devoria.fr/ro/diagnostic): 7 întrebări, 60 de secunde: afli ce te blochează de fapt să-ți publici aplicația de iPhone, traseul tău în 4 etape și kitul potrivit pentru tine.
