Guideline 4.5.4: Apple odbija push obavijesti
Autor: Mehdi Azizi
Objavljeno , 9 min
Guideline 4.5.4: promotivna obavijest traži izričit pristanak u aplikaciji i način odjave, a aplikacija mora raditi bez obavijesti.
Guideline 4.5.4 uređuje push obavijesti. Tvoja aplikacija mora raditi bez njih, u njih nikad ne smiješ staviti osjetljive podatke i nikad ih ne smiješ koristiti za promociju bez pristanka. Marketinška obavijest traži pisani pristanak u tvojoj aplikaciji i prekidač za njegovo povlačenje, uz dopuštenje iOS-a.
Svoje iOS aplikacije objavljujem s Expoom. U TradaZenu, mom simulatoru tradinga, uklonio sam obavijest koja je najavljivala popust i zamijenio je podsjetnikom bez ponude, koji sam prijavio revieweru. Ovaj vodič se oslanja na Appleov tekst, njegovu licencu za developere, dokumentaciju i taj slučaj. Za pregled svih razloga odbijanja pročitaj zašto Apple odbija aplikaciju.
Što kaže guideline 4.5.4?
Pravilo se nalazi u odjeljku 4 „Design“, dio 4.5 „Apple Sites and Services“, u App Review Guidelines. Odatle i naslov odbijanja: „Guideline 4.5.4 - Design - Apple Sites and Services“. Tekst postavlja tri granice.
- Nema obavezne obavijesti. „Push Notifications must not be required for the app to function.“ Odbijanje iOS prozora ne smije ništa blokirati.
- Nema osjetljivih podataka. One „should not be used to send sensitive personal or confidential information“. Obavijest se prikazuje na zaključanom zaslonu, pred očima bilo koga.
- Nema promocije bez pristanka. Marketing je zabranjen „unless customers have explicitly opted in to receive them via consent language displayed in your app's UI“, uz „a method in your app for a user to opt out“.
Zadnja rečenica upozorava da zloupotreba može koštati pristupa servisu. Dva susjedna pravila upotpunjuju sliku. 4.5.3 zabranjuje spam putem obavijesti. 5.1.2(i) zabranjuje da tražiš uključivanje obavijesti za pristup funkciji, sadržaju ili nagradi.
Što dodaje licenca za developere
Guidelines govore o push obavijestima. Prilog 1 Apple Developer Program License Agreement, koji prihvaćaš pri registraciji, ide dalje u tri točke.
- Obuhvaćene su i lokalne obavijesti. Članak 2.2 navodi „the APN or Local Notifications“. Podsjetnik zakazan u aplikaciji, bez servera, podliježe istom pravilu.
- Promocija je široko definirana. Uključuje dodatnu prodaju i „sending any messages to promote the use of Your Application or advertise the availability of new features or versions“.
- iOS prozor je nedodirljiv. Članak 1.3 zabranjuje zaobilaženje Appleova panela za pristanak. Ako je pristanak odbijen ili povučen, više ništa ne šalješ.
Moje tumačenje: poruka tipa „vrati se u aplikaciju“ približava se promociji, čak i bez cijene. Apple ne presuđuje taj slučaj i zato takav podsjetnik prijavljujem revieweru.
Što znači poruka odbijanja 4.5.4?
Najbolje dokumentirano odbijanje odnosi se na aplikaciju koja ne radi bez obavijesti. U temi na B4X forumu iz 2018. Apple piše: „Push notifications must be optional and must obtain the user's consent to be used within the app.“ Developer zatim prijavljuje crni zaslon nakon odbijanja dopuštenja. Trag koji se spominje u temi: sučelje koje je čekalo token obavijesti da bi se prikazalo.
Polazi od toga da reviewer odbija dopuštenja da vidi što će se dogoditi. Ako se aplikacija zablokira, inzistira ili ukloni funkciju, pada 4.5.4 ili 5.1.2(i). Za marketing bez pristanka nisam našao noviju javnu poruku odbijanja.
Koji pristanak za koju obavijest?
Moja tablica kombinira Appleov tekst, licencu i smjernice za sučelje. Redovi „kraj probnog razdoblja“ i „podsjetnik za povratak“ su moje tumačenje, a ne pisani Appleov stav.
| Vrsta obavijesti | Potreban pristanak | Primjer koji je u skladu |
|---|---|---|
| Odgovor na radnju | iOS prozor | „Tvoj izvoz je spreman“ |
| Odabrani podsjetnik | iOS prozor | Dnevna lekcija u 19:00 |
| Kraj probnog razdoblja, obnova | iOS prozor | „Probno razdoblje završava 12.“ |
| Podsjetnik za povratak | iOS prozor + oprez | Bez cijene, samo jednom |
| Ponuda ili popust | iOS prozor + pristanak | Označena kućica u aplikaciji |
| Novosti u aplikaciji | iOS prozor + pristanak | Slanje samo prijavljenima |
| Privatna poruka, zdravlje | Nikad sadržaj | „Nova poruka“ |
| Privremena obavijest | Na početku nikakav prozor | Stiže bez zvuka i bannera |
„iOS prozor“ je dopuštenje sustava. „Pristanak“ je zaseban izbor u tvojoj aplikaciji: rečenica koja kaže što ćeš slati i prekidač koji je po defaultu isključen.
Podsjetnici za pretplatu i ponude
Stranica Managing notifications u Appleovim smjernicama za sučelje spominje pretplatu: osoba može cijeniti „an offer to become a subscriber“ ako je prihvatila marketinške obavijesti. Dodaje dvije obveze: zaslon postavki u aplikaciji za promjenu odluke i nikad razinu „Time Sensitive“ za marketing.
Granica koju ja koristim: podsjetnik koji informira o već obavljenoj kupnji nije ponuda, poruka koja potiče na kupnju jest. „Probno razdoblje završava 12.“ informira. „50 % popusta tijekom 24 h“ prodaje. Zaslon za kupnju koji obavijest otvara i dalje podliježe pravilu 3.1.2.
Tihe, odnosno privremene obavijesti
Apple govori o „provisional authorization“ u svojoj dokumentaciji o dopuštenjima. Aplikacija može slati bez prikazivanja iOS prozora. Obavijesti stižu bez zvuka i bannera, samo u povijest centra obavijesti, s gumbima da ih zadržiš ili isključiš. S Expoom je to opcija u requestPermissionsAsync:
import * as Notifications from "expo-notifications";
await Notifications.requestPermissionsAsync({
ios: {
allowAlert: true,
allowBadge: true,
allowSound: true,
allowProvisional: true,
},
});
Polje ios.status tada ima vrijednost IosAuthorizationStatus.PROVISIONAL sve dok osoba ne odluči. Privremena obavijest zamjenjuje iOS prozor, ne marketinški pristanak. Promocija poslana kao privremena obavijest i dalje je promocija.
Pazi na terminologiju. U TradaZenu „tihom obaviješću“ zovem podsjetnik smirenog tona, poslan samo ako je iOS prozor prihvaćen. To nije privremeno dopuštenje.
Postavljanje izričitog pristanka s Expoom
- Traži iOS dopuštenje u kontekstu. Apple savjetuje da ga tražiš nakon radnje koja pokazuje njegovu korist, a ne pri prvom pokretanju. U TradaZenu se pojavljuje, među ostalim, nakon nagrade u onboardingu ili završene lekcije. Ista logika kao kod traženja ocjene.
- Dodaj zaseban marketinški pristanak. Prekidač isključen po defaultu, s jasnom rečenicom, na primjer: „Primaj ponude i novosti, najviše jednom tjedno.“
- Daj zaslon postavki. Podsjetnici i ponude isključuju se u aplikaciji, ne samo u iOS postavkama.
- Filtriraj pri slanju. Tvoj server, ili tvoj lokalni planer, šalje promociju samo osobama koje su pristale.
- Neka sve radi i bez toga. Odbijanje ne blokira ni zaslon, ni funkciju, ni nagradu.
TradaZen: obavijest koju sam uklonio
- listopada 2026. jedna verzija TradaZena odbijena je po pravilu 5.6, koje se odnosi na kupnje postignute manipulacijom. Apple ne navodi koji je element u pitanju. Zato sam ponovno pregledao cijeli tok kupnje, uključujući obavijesti.
Jedna obavijest je bila problem. Izlazak iz aplikacije tijekom onboardinga ili na zaslonu pretplate zakazivao je ovu lokalnu poruku: „Imam ekskluzivan popust samo za tebe.“ Ovisila je samo o iOS dopuštenju, bez zasebnog marketinškog pristanka. To je upravo promocija bez izričitog pristanka koju opisuju 4.5.4 i licenca. Uklonio sam je na svih trideset jezika aplikacije.
Na njezino mjesto došao je jedan podsjetnik: „Tvoj put te čeka. Nastavi kad želiš, nema žurbe.“ Njegove granice:
- šalje se samo ako su obavijesti dopuštene;
- samo jednom po instalaciji, pet minuta nakon izlaska iz onboardinga ili sa zaslona pretplate;
- otkazuje se ako se osoba vrati prije toga;
- bez cijene, bez popusta, bez odbrojavanja, bez zvuka.
Ovaj podsjetnik ostaje u sivoj zoni opisanoj gore. Nisam ga skrivao: opisan je u bilješkama za review i u mom odgovoru revieweru. O prijavljenom podsjetniku može se razgovarati, skriveni podsjetnik izgleda kao trik.
Kako odgovoriti na odbijanje 4.5.4?
Razgovor se vodi u App Store Connectu, gdje odgovaraš na poruku App Reviewa. Prvo ispravi: ukloni obavezu, dodaj marketinški pristanak ili očisti tekst, zatim napravi novi build. Predložak koji bih ja koristio, prilagodi ga:
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,
Checklista za 4.5.4 prije slanja
- Aplikacija se može koristiti u cijelosti nakon odbijanja dopuštenja, bez blokiranog zaslona ili uskraćene nagrade.
- iOS prozor pojavljuje se nakon korisne radnje, nikad na prvom zaslonu.
- Svaka promocija, lokalna ili udaljena, ovisi o marketinškom pristanku isključenom po defaultu.
- Zaslon postavki u aplikaciji isključuje podsjetnike i ponude.
- Nijedan tekst obavijesti ne prikazuje zdravstveni podatak, iznos ili privatnu poruku.
- Nijedna promocija na razini „Time Sensitive“.
- Bilješke za review navode obavijesti koje se šalju u prvim danima.
- Testirao si tok odbijajući svako dopuštenje. Vodič za TestFlight pokazuje kako instalirati build za taj test.
Provjeri svoj paket prije slanja
Review Kit objedinjuje moju checklistu prije slanja, predloške bilježaka za testera i Claude Code skillove koji pregledavaju tvoj projekt. Ako želiš ljudsko oko, rezerviraj sat vremena sa mnom: zajedno pregledavamo tvoje obavijesti i zaslon postavki, putem videopoziva. Cijeli postupak je na stranici aplikacija koju je Apple odbio.
Pripremaš svoje prvo izdanje? Napravi besplatnu dijagnostiku: posložit će korake redom i poslati ti moju checklistu protiv Appleova odbijanja.
Česta pitanja
Što znači „Guideline 4.5.4 - Design - Apple Sites and Services“?
To je naslov odbijanja kad Apple ocijeni da su tvoje obavijesti obavezne, previše otkrivaju ili su promotivne bez pristanka. Pročitaj rečenicu iza naslova: ona kaže što je reviewer utvrdio.
Mogu li tražiti obavijesti tijekom onboardinga?
Da, ako odbijanje ništa ne blokira i ako zahtjev dolazi nakon trenutka koji pokazuje njegovu korist. Nikad ne uvjetuj nagradu pristankom: 5.1.2(i) to zabranjuje.
Je li obavijest o kraju probnog razdoblja marketing?
Moje tumačenje: nije, ako samo informira o trenutnom probnom razdoblju. Ako nudi popust ili drugu pretplatu, postaje promocija i traži marketinški pristanak.
Odnosi li se 4.5.4 i na lokalne obavijesti?
Guideline govori o push obavijestima, ali prilog 1 licence za developere primjenjuje pravilo o promociji i na lokalne obavijesti. Tretiraj ih na isti način.
Oslobađa li privremena obavijest od marketinškog pristanka?
Ne. Ona na početku zaobilazi iOS prozor, ali promocija ostaje promocija: treba joj izričit pristanak u aplikaciji i način odjave.

