Guideline 4.5.4: Apple zamietol push notifikácie
Autor: Mehdi Azizi
Zverejnené , 9 min
Guideline 4.5.4: propagačná notifikácia vyžaduje výslovný súhlas v appke a možnosť odhlásiť sa. Appka musí fungovať aj bez notifikácií.
Guideline 4.5.4 upravuje push notifikácie. Tvoja appka musí fungovať aj bez nich, nikdy do nich nesmieš dať citlivé informácie a nikdy ich nesmieš použiť na propagáciu bez súhlasu. Marketingová notifikácia si okrem povolenia v iOS vyžaduje aj písomný súhlas v tvojej appke a prepínač, ktorým ho používateľ môže odvolať.
Svoje iOS appky publikujem s Expo. V TradaZen, mojom simulátore tradingu, som odstránil notifikáciu, ktorá ohlasovala zľavu, a nahradil som ju pripomienkou bez ponuky, ktorú som nahlásil reviewerovi. Tento návod vychádza z textu Apple, jeho vývojárskej licencie, dokumentácie a z tohto prípadu. Prehľad dôvodov zamietnutia nájdeš v článku prečo Apple zamieta appky.
Čo hovorí guideline 4.5.4?
Pravidlo nájdeš v sekcii 4 „Design“, časti 4.5 „Apple Sites and Services“ v App Review Guidelines. Odtiaľ pochádza aj názov zamietnutia: „Guideline 4.5.4 - Design - Apple Sites and Services“. Text stanovuje tri hranice.
- Žiadne povinné notifikácie. „Push Notifications must not be required for the app to function.“ Odmietnutie okna iOS nesmie nič zablokovať.
- Žiadne citlivé informácie. Notifikácie „should not be used to send sensitive personal or confidential information“. Notifikácia sa zobrazuje na zamknutej obrazovke a vidí ju ktokoľvek.
- Žiadna propagácia bez súhlasu. Marketing je zakázaný, „unless customers have explicitly opted in to receive them via consent language displayed in your app's UI“, a musí existovať „a method in your app for a user to opt out“.
Posledná veta upozorňuje, že zneužitie ťa môže stáť prístup k službe. Obraz dopĺňajú dve susedné pravidlá. 4.5.3 zakazuje spam cez notifikácie. 5.1.2(i) zakazuje vyžadovať zapnutie notifikácií ako podmienku prístupu k funkcii, obsahu alebo odmene.
Čo pridáva vývojárska licencia
Guidelines hovoria o push notifikáciách. Príloha 1 dokumentu Apple Developer Program License Agreement, ktorý si odsúhlasil pri registrácii, ide v troch bodoch ďalej.
- Týka sa to aj lokálnych notifikácií. Článok 2.2 hovorí o „the APN or Local Notifications“. Pripomienka naplánovaná v appke, bez servera, sa riadi rovnakým pravidlom.
- Propagácia je definovaná široko. Zahŕňa aj upselling a „sending any messages to promote the use of Your Application or advertise the availability of new features or versions“.
- Na okno iOS sa nesiaha. Článok 1.3 zakazuje obchádzať dialóg súhlasu od Apple. Ak súhlas odmietnu alebo odvolajú, už neposielaš nič.
Môj výklad: správa typu „vráť sa do appky“ má blízko k propagácii, aj keď v nej nie je cena. Apple tento prípad jednoznačne nerozhoduje, a preto takúto pripomienku reviewerovi vždy nahlasujem.
Čo znamená správa o zamietnutí 4.5.4?
Najlepšie zdokumentované zamietnutie sa týka appky, ktorá bez notifikácií nefunguje. Vo vlákne na fóre B4X z roku 2018 Apple píše: „Push notifications must be optional and must obtain the user's consent to be used within the app.“ Vývojár potom hlási čiernu obrazovku po odmietnutí povolenia. Stopa, ktorú vo vlákne navrhli: rozhranie čakalo na notifikačný token, aby sa vôbec zobrazilo.
Počítaj s tým, že reviewer odmietne povolenia, aby videl, čo sa stane. Ak sa appka zasekne, naliehá alebo odoberie funkciu, príde 4.5.4 alebo 5.1.2(i). K marketingu bez súhlasu som nenašiel žiadnu nedávnu verejnú správu o zamietnutí.
Aký súhlas pre akú notifikáciu?
Moja tabuľka kombinuje text Apple, licenciu a príručku rozhrania. Riadky „koniec skúšobnej verzie“ a „pripomienka návratu“ sú môj výklad, nie písomné stanovisko Apple.
| Typ notifikácie | Potrebný súhlas | Vyhovujúci príklad |
|---|---|---|
| Reakcia na akciu | Okno iOS | „Tvoj export je pripravený“ |
| Zvolená pripomienka | Okno iOS | Lekcia dňa o 19:00 |
| Koniec skúšobnej verzie, obnovenie | Okno iOS | „Tvoja skúšobná verzia končí 12.“ |
| Pripomienka návratu | Okno iOS + opatrnosť | Bez ceny, iba raz |
| Ponuka alebo zľava | Okno iOS + súhlas | Zaškrtnuté políčko v appke |
| Novinky v appke | Okno iOS + súhlas | Posielané iba prihláseným |
| Súkromná správa, zdravie | Nikdy žiadny obsah | „Nová správa“ |
| Provizórna notifikácia | Na začiatku žiadne okno | Príde bez zvuku a bez banneru |
„Okno iOS“ je systémové povolenie. „Súhlas“ je samostatná voľba v tvojej appke: veta, ktorá hovorí, čo budeš posielať, a prepínač predvolene vypnutý.
Pripomienky predplatného a ponuky
Stránka Managing notifications v príručke rozhrania od Apple spomína predplatné: človek môže oceniť „an offer to become a subscriber“, ak súhlasil s marketingovými notifikáciami. Pridáva dve povinnosti: obrazovku nastavení v appke, kde môže názor zmeniť, a nikdy nepoužiť úroveň „Time Sensitive“ na marketing.
Hranica, ktorej sa držím: pripomienka, ktorá informuje o už uskutočnenom nákupe, nie je ponuka, správa, ktorá tlačí na nákup, ňou je. „Tvoja skúšobná verzia končí 12.“ informuje. „Zľava 50 % na 24 hodín“ predáva. Nákupná obrazovka, ktorú notifikácia otvorí, sa stále riadi pravidlom 3.1.2.
Jemné, čiže provizórne notifikácie
Apple hovorí o „provisional authorization“ vo svojej dokumentácii k povoleniam. Appka môže posielať notifikácie bez zobrazenia okna iOS. Prídu bez zvuku a bez banneru, iba do histórie v centre notifikácií, s tlačidlami na ich ponechanie alebo vypnutie. V Expo je to voľba v requestPermissionsAsync:
import * as Notifications from "expo-notifications";
await Notifications.requestPermissionsAsync({
ios: {
allowAlert: true,
allowBadge: true,
allowSound: true,
allowProvisional: true,
},
});
Pole ios.status má potom hodnotu IosAuthorizationStatus.PROVISIONAL, kým sa človek nerozhodne. Provizórna notifikácia nahrádza okno iOS, nie marketingový súhlas. Propagácia poslaná provizórne je stále propagácia.
Pozor na pojmy. V TradaZen nazývam „jemnou notifikáciou“ pripomienku s pokojným tónom, ktorá sa pošle iba vtedy, ak bolo okno iOS prijaté. To nie je provizórne povolenie.
Ako nastaviť výslovný súhlas v Expo
- Žiadaj o povolenie iOS v kontexte. Apple odporúča pýtať sa po akcii, ktorá ukáže jeho prínos, nie pri prvom spustení. V TradaZen sa okno objaví napríklad po odmene v onboardingu alebo po dokončenej lekcii. Rovnaká logika ako pri žiadosti o hodnotenie.
- Pridaj samostatný marketingový súhlas. Prepínač predvolene vypnutý, s jasnou vetou, napríklad: „Dostávať ponuky a novinky, najviac raz týždenne.“
- Daj k dispozícii obrazovku nastavení. Pripomienky aj ponuky sa dajú vypnúť v appke, nielen v Nastaveniach iOS.
- Filtruj pri odosielaní. Tvoj server, alebo lokálny plánovač, pošle propagáciu iba ľuďom, ktorí súhlasili.
- Nechaj všetko fungovať aj bez toho. Odmietnutie nezablokuje žiadnu obrazovku, funkciu ani odmenu.
TradaZen: notifikácia, ktorú som odstránil
- októbra 2026 Apple zamietol jednu verziu TradaZen podľa pravidla 5.6, ktoré sa týka nákupov získaných manipuláciou. Apple neuvádza, o aký prvok ide. Prečítal som si preto celý nákupný proces vrátane notifikácií.
Problém robila jedna notifikácia. Odchod z appky počas onboardingu alebo na obrazovke predplatného naplánoval túto lokálnu správu: „Mám pre teba exkluzívnu zľavu.“ Závisela iba od povolenia iOS, bez samostatného marketingového súhlasu. Presne toto je propagácia bez výslovného súhlasu, ktorú opisuje 4.5.4 aj licencia. Odstránil som ju vo všetkých tridsiatich jazykoch appky.
Namiesto nej je tu jediná pripomienka: „Tvoja cesta na teba čaká. Pokračuj, kedy chceš, nikam sa neponáhľaj.“ Jej limity:
- pošle sa iba vtedy, ak sú notifikácie povolené;
- iba raz na inštaláciu, päť minút po odchode z onboardingu alebo z obrazovky predplatného;
- zruší sa, ak sa človek medzitým vráti;
- žiadna cena, žiadna zľava, žiadny odpočet, žiadny zvuk.
Táto pripomienka zostáva v sivej zóne opísanej vyššie. Neskrýval som ju: je opísaná v poznámkach pre review aj v mojej odpovedi reviewerovi. O nahlásenej pripomienke sa dá diskutovať, skrytá pripomienka vyzerá ako trik.
Ako odpovedať na zamietnutie 4.5.4?
Komunikácia prebieha v App Store Connect, kde odpovedáš na správu od App Review. Najprv oprav: odstráň povinnosť, pridaj marketingový súhlas alebo uprav text, potom urob nový build. Šablóna, ktorú by som použil, uprav si ju:
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,
Checklist 4.5.4 pred odoslaním
- Appka sa dá po odmietnutí povolenia používať celá, bez zablokovanej obrazovky a bez odobratej odmeny.
- Okno iOS sa objaví po užitočnej akcii, nikdy na prvej obrazovke.
- Každá propagácia, lokálna aj vzdialená, závisí od marketingového súhlasu predvolene vypnutého.
- Obrazovka nastavení v appke vypína pripomienky aj ponuky.
- Žiadny text notifikácie neukazuje zdravotný údaj, sumu ani súkromnú správu.
- Žiadna propagácia na úrovni „Time Sensitive“.
- Poznámky pre review uvádzajú notifikácie posielané počas prvých dní.
- Otestoval si celý proces s odmietnutím každého povolenia. Návod na TestFlight ukazuje, ako si na tento test nainštalovať build.
Skontroluj si podklady pred odoslaním
Review Kit obsahuje môj checklist pred odoslaním, šablóny poznámok pre testera a skills pre Claude Code, ktoré prejdú tvoj projekt. Ak chceš ľudský pohľad, rezervuj si so mnou hodinu: spolu cez videohovor prejdeme tvoje notifikácie a obrazovku nastavení. Celý postup nájdeš na stránke appka zamietnutá od Apple.
Pripravuješ svoje prvé vydanie? Urob si bezplatnú diagnostiku: zoradí ti kroky a pošle ti môj checklist proti zamietnutiu od Apple.
Často kladené otázky
Čo znamená „Guideline 4.5.4 - Design - Apple Sites and Services“?
Je to názov zamietnutia, keď Apple usúdi, že tvoje notifikácie sú povinné, príliš odhaľujúce alebo propagačné bez súhlasu. Prečítaj si vetu za názvom: hovorí, čo reviewer zistil.
Môžem žiadať o notifikácie počas onboardingu?
Áno, ak odmietnutie nič nezablokuje a ak žiadosť nasleduje po momente, ktorý ukáže ich prínos. Nikdy nepodmieňuj odmenu súhlasom: 5.1.2(i) to zakazuje.
Je notifikácia o konci skúšobnej verzie marketing?
Môj výklad: nie, ak iba informuje o prebiehajúcej skúšobnej verzii. Ak ponúka zľavu alebo iné predplatné, stáva sa propagáciou a vyžaduje marketingový súhlas.
Týka sa 4.5.4 aj lokálnych notifikácií?
Guideline hovorí o push notifikáciách, ale príloha 1 vývojárskej licencie uplatňuje pravidlo o propagácii aj na lokálne notifikácie. Pristupuj k nim rovnako.
Oslobodzuje provizórna notifikácia od marketingového súhlasu?
Nie. Na začiatku ti ušetrí okno iOS, ale propagácia zostáva propagáciou: potrebuje výslovný súhlas v appke a možnosť odhlásiť sa.

