Guideline 4.5.4: Apple zamítl push notifikace
Autor: Mehdi Azizi
Publikováno , 9 min
Guideline 4.5.4: propagační notifikace vyžaduje výslovný souhlas v aplikaci a možnost ho zrušit. Aplikace musí fungovat i bez notifikací.
Guideline 4.5.4 upravuje push notifikace. Tvoje aplikace musí fungovat i bez nich, nikdy do nich nesmíš dávat citlivé informace a nikdy je nesmíš bez souhlasu použít k propagaci. Marketingová notifikace vyžaduje kromě povolení od iOS ještě souhlas formulovaný přímo v aplikaci a přepínač, kterým ho jde vzít zpět.
Svoje iOS aplikace vydávám s Expo. V TradaZen, mém simulátoru obchodování, jsem odstranil notifikaci, která ohlašovala slevu. Nahradil jsem ji připomínkou bez nabídky a oznámil ji revieweru. Tenhle návod vychází z textu Applu, jeho vývojářské licence, dokumentace a z tohohle případu. Přehled všech důvodů zamítnutí najdeš v článku proč Apple zamítá aplikace.
Co říká guideline 4.5.4?
Pravidlo najdeš v sekci 4 „Design“, části 4.5 „Apple Sites and Services“ v App Review Guidelines. Odtud název zamítnutí: „Guideline 4.5.4 - Design - Apple Sites and Services“. Text stanoví tři hranice.
- Žádné povinné notifikace. „Push Notifications must not be required for the app to function.“ Když uživatel odmítne okno iOS, nesmí se nic zablokovat.
- Žádné citlivé informace. Notifikace „should not be used to send sensitive personal or confidential information“. Notifikace se zobrazuje na zamčené obrazovce, kde ji uvidí kdokoli.
- Žádná propagace bez souhlasu. Marketing je zakázaný, „unless customers have explicitly opted in to receive them via consent language displayed in your app's UI“, a navíc musí existovat „a method in your app for a user to opt out“.
Poslední věta varuje, že zneužití může stát přístup ke službě. Obrázek doplňují dvě sousední pravidla. 4.5.3 zakazuje spam přes notifikace. 5.1.2(i) zakazuje podmiňovat přístup k funkci, obsahu nebo odměně zapnutím notifikací.
Co přidává vývojářská licence
Guidelines mluví o push notifikacích. Příloha 1 Apple Developer Program License Agreement, kterou jsi přijal při registraci, jde ve třech bodech dál.
- Týká se to i lokálních notifikací. Článek 2.2 mluví o „the APN or Local Notifications“. Připomínka naplánovaná v aplikaci, bez serveru, se řídí stejným pravidlem.
- Propagace je definovaná široce. Zahrnuje upselling i „sending any messages to promote the use of Your Application or advertise the availability of new features or versions“.
- Na okno iOS se nesahá. Článek 1.3 zakazuje obcházet souhlasový panel Applu. Když uživatel souhlas odmítne nebo zruší, už nic neposíláš.
Jak to čtu já: zpráva typu „vrať se do aplikace“ má k propagaci blízko, i když v ní není cena. Apple tenhle případ jasně neřeší, a proto takovou připomínku revieweru vždycky oznámím.
Co znamená zpráva o zamítnutí 4.5.4?
Nejlíp zdokumentované zamítnutí se týká aplikace, která bez notifikací nefunguje. Ve vlákně fóra 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ář pak hlásí černou obrazovku po odmítnutí povolení. Ve vlákně padne vysvětlení: rozhraní čekalo na notifikační token, než se zobrazilo.
Počítej s tím, že reviewer povolení odmítne, aby viděl, co se stane. Když se aplikace zasekne, otravuje nebo odebere funkci, přijde 4.5.4 nebo 5.1.2(i). U marketingu bez souhlasu jsem žádnou nedávnou veřejnou zprávu o zamítnutí nenašel.
Jaký souhlas pro jakou notifikaci?
Moje tabulka kombinuje text Applu, licenci a průvodce rozhraním. Řádky „konec zkušební doby“ a „připomínka návratu“ jsou můj výklad, ne písemné stanovisko Applu.
| Typ notifikace | Potřebný souhlas | Vyhovující příklad |
|---|---|---|
| Reakce na akci | Okno iOS | „Tvůj export je hotový“ |
| Zvolená připomínka | Okno iOS | Lekce dne v 19:00 |
| Konec zkušební doby, obnovení | Okno iOS | „Zkušební doba končí 12.“ |
| Připomínka návratu | Okno iOS + opatrnost | Bez ceny, jen jednou |
| Nabídka nebo sleva | Okno iOS + souhlas | Zaškrtnuté pole v aplikaci |
| Novinky v aplikaci | Okno iOS + souhlas | Jen přihlášeným uživatelům |
| Soukromá zpráva, zdraví | Nikdy obsah | „Nová zpráva“ |
| Provizorní notifikace | Na začátku žádné okno | Přijde bez zvuku a banneru |
„Okno iOS“ je systémové povolení. „Souhlas“ je samostatná volba v tvé aplikaci: věta, která říká, co budeš posílat, a přepínač ve výchozím stavu vypnutý.
Připomínky předplatného a nabídky
Stránka Managing notifications v průvodci rozhraním Applu zmiňuje předplatné: člověk může ocenit „an offer to become a subscriber“, pokud marketingové notifikace přijal. Přidává dvě povinnosti: obrazovku nastavení v aplikaci, kde může názor změnit, a nikdy nepoužívat úroveň „Time Sensitive“ pro marketing.
Hranice, kterou si z toho beru: připomínka, která informuje o už provedeném nákupu, není nabídka. Zpráva, která tlačí k nákupu, nabídka je. „Zkušební doba končí 12.“ informuje. „Sleva 50 % na 24 hodin“ prodává. Nákupní obrazovka, kterou notifikace otevře, dál podléhá pravidlu 3.1.2.
Tiché neboli provizorní notifikace
Apple mluví o „provisional authorization“ ve své dokumentaci k povolením. Aplikace může posílat notifikace bez zobrazení okna iOS. Přicházejí bez zvuku a banneru, jen do historie v oznamovacím centru, s tlačítky pro jejich ponechání nebo vypnutí. V Expo je to volba v requestPermissionsAsync:
import * as Notifications from "expo-notifications";
await Notifications.requestPermissionsAsync({
ios: {
allowAlert: true,
allowBadge: true,
allowSound: true,
allowProvisional: true,
},
});
Pole ios.status má pak hodnotu IosAuthorizationStatus.PROVISIONAL, dokud se uživatel nerozhodne. Provizorní notifikace nahrazuje okno iOS, ne marketingový souhlas. Propagace poslaná provizorně je pořád propagace.
Pozor na pojmy. V TradaZen říkám „jemná notifikace“ připomínce s klidným tónem, která se pošle jen tehdy, když bylo okno iOS přijato. To není provizorní povolení.
Jak v Expo nastavit výslovný souhlas
- Žádej o povolení iOS v kontextu. Apple radí žádat po akci, která ukáže, k čemu notifikace jsou, ne při prvním spuštění. V TradaZen přichází žádost hlavně po odměně v onboardingu nebo po dokončené lekci. Stejná logika jako u žádosti o hodnocení.
- Přidej samostatný marketingový souhlas. Přepínač ve výchozím stavu vypnutý, s jasnou větou, například: „Dostávat nabídky a novinky, nejvýš jednou týdně.“
- Dej uživateli obrazovku nastavení. Připomínky i nabídky jde vypnout v aplikaci, ne jen v systémovém Settings iOS.
- Filtruj při odesílání. Tvůj server, nebo lokální plánovač, posílá propagaci jen lidem, kteří souhlasili.
- Nech všechno fungovat i bez nich. Odmítnutí nezablokuje žádnou obrazovku, funkci ani odměnu.
TradaZen: notifikace, kterou jsem odstranil
- října 2026 byla jedna verze TradaZen zamítnuta podle pravidla 5.6, které míří na nákupy získané manipulací. Apple neuvedl, o který prvek jde. Prošel jsem tedy celý nákupní tunel, včetně notifikací.
Problém dělala jedna notifikace. Když uživatel opustil aplikaci během onboardingu nebo na obrazovce předplatného, naplánovala se tahle lokální zpráva: „Mám pro tebe exkluzivní slevu.“ Závisela jen na povolení iOS, bez samostatného marketingového souhlasu. Přesně to je propagace bez výslovného souhlasu, kterou popisuje 4.5.4 i licence. Odstranil jsem ji ve všech třiceti jazycích aplikace.
Místo ní je tu jediná připomínka: „Tvoje cesta na tebe čeká. Pokračuj, kdy chceš, nikam to nespěchá.“ Její limity:
- odejde jen tehdy, když jsou notifikace povolené;
- jen jednou na instalaci, pět minut po opuštění onboardingu nebo obrazovky předplatného;
- zruší se, pokud se uživatel mezitím vrátí;
- žádná cena, žádná sleva, žádný odpočet, žádný zvuk.
Tahle připomínka zůstává v šedé zóně popsané výš. Neschovával jsem ji: je popsaná v poznámkách pro review i v mé odpovědi revieweru. O oznámené připomínce se dá diskutovat, schovaná připomínka vypadá jako trik.
Jak odpovědět na zamítnutí 4.5.4?
Konverzace probíhá v App Store Connect, kde odpovídáš na zprávu od App Review. Nejdřív oprav: odstraň povinnost, přidej marketingový souhlas nebo vyčisti text, a pak udělej nový build. Šablona, kterou bych použil já (uprav si ji):
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 před odesláním
- Aplikace jde po odmítnutí povolení používat celá, bez zablokované obrazovky nebo odebrané odměny.
- Okno iOS přijde po užitečné akci, nikdy na první obrazovce.
- Každá propagace, lokální i vzdálená, závisí na marketingovém souhlasu ve výchozím stavu vypnutém.
- Obrazovka nastavení v aplikaci vypíná připomínky i nabídky.
- Žádný text notifikace neukazuje zdravotní údaj, částku ani soukromou zprávu.
- Žádná propagace na úrovni „Time Sensitive“.
- Poznámky pro review vyjmenovávají notifikace posílané během prvních dnů.
- Otestoval jsi celý průchod s odmítnutím každého povolení. Návod k TestFlight ukazuje, jak si build pro tenhle test nainstalovat.
Zkontroluj si podklady před odesláním
Review Kit obsahuje můj checklist před odesláním, šablony poznámek pro testera a skills pro Claude Code, které projdou tvůj projekt. Jestli chceš lidský pohled, zarezervuj si se mnou hodinu: projdeme spolu tvoje notifikace a obrazovku nastavení přes videohovor. Celý postup najdeš na stránce aplikace zamítnutá Applem.
Chystáš své první vydání? Udělej si bezplatnou diagnostiku: seřadí ti kroky a pošle ti můj checklist proti zamítnutí od Applu.
Časté dotazy
Co znamená „Guideline 4.5.4 - Design - Apple Sites and Services“?
To je název zamítnutí, když Apple usoudí, že tvoje notifikace jsou povinné, příliš odhalující nebo propagační bez souhlasu. Přečti si větu za názvem: říká, co reviewer zjistil.
Můžu žádat o notifikace během onboardingu?
Ano, pokud odmítnutí nic nezablokuje a žádost přijde po chvíli, která ukáže jejich smysl. Nikdy nepodmiňuj odměnu souhlasem: 5.1.2(i) to zakazuje.
Je notifikace o konci zkušební doby marketing?
Podle mě ne, pokud jen informuje o běžící zkušební době. Když nabízí slevu nebo jiné předplatné, stává se propagací a potřebuje marketingový souhlas.
Týká se 4.5.4 i lokálních notifikací?
Guideline mluví o push notifikacích, ale příloha 1 vývojářské licence uplatňuje pravidlo o propagaci i na lokální notifikace. Zacházej s nimi stejně.
Zbavuje provizorní notifikace povinnosti marketingového souhlasu?
Ne. Na začátku obejde okno iOS, ale propagace je pořád propagace: potřebuje výslovný souhlas v aplikaci a možnost se odhlásit.

