Guideline 4.5.4: Apple odrzuca powiadomienia push
Autor: Mehdi Azizi
Opublikowano , 9 min
Guideline 4.5.4: powiadomienie promocyjne wymaga wyraźnej zgody w aplikacji i opcji jej wycofania, a aplikacja musi działać bez powiadomień.
Guideline 4.5.4 reguluje powiadomienia push. Twoja aplikacja musi działać bez nich, nie może przesyłać w nich wrażliwych informacji i nie może ich używać do promocji bez zgody. Powiadomienie marketingowe wymaga zgody zapisanej w twojej aplikacji i przełącznika do jej wycofania, niezależnie od uprawnienia iOS.
Publikuję własne aplikacje iOS z Expo. W TradaZen, moim symulatorze tradingu, usunąłem powiadomienie zapowiadające zniżkę i zastąpiłem je przypomnieniem bez oferty, zgłoszonym recenzentowi. Ten poradnik opiera się na tekście Apple, licencji deweloperskiej, dokumentacji i tym przypadku. Ogólny przegląd powodów odrzuceń znajdziesz w tekście dlaczego Apple odrzuca aplikację.
Co mówi guideline 4.5.4?
Reguła znajduje się w sekcji 4 „Design”, części 4.5 „Apple Sites and Services” App Review Guidelines. Stąd nagłówek odrzucenia: „Guideline 4.5.4 - Design - Apple Sites and Services”. Tekst wyznacza trzy granice.
- Żadnych obowiązkowych powiadomień. „Push Notifications must not be required for the app to function.” Odmowa w okienku iOS nie może niczego blokować.
- Żadnych wrażliwych informacji. Powiadomienia „should not be used to send sensitive personal or confidential information”. Powiadomienie wyświetla się na ekranie blokady, na oczach każdego.
- Żadnej promocji bez zgody. Marketing jest zakazany „unless customers have explicitly opted in to receive them via consent language displayed in your app's UI”, z „a method in your app for a user to opt out”.
Ostatnie zdanie ostrzega, że nadużycia mogą kosztować utratę dostępu do usługi. Obraz uzupełniają dwie sąsiednie reguły. 4.5.3 zakazuje spamu przez powiadomienia. 5.1.2(i) zakazuje wymagania włączenia powiadomień w zamian za dostęp do funkcji, treści lub nagrody.
Co dodaje licencja deweloperska
Wytyczne mówią o powiadomieniach push. Załącznik 1 do Apple Developer Program License Agreement, który akceptujesz przy rejestracji, idzie dalej w trzech punktach.
- Powiadomienia lokalne też się liczą. Artykuł 2.2 obejmuje „the APN or Local Notifications”. Przypomnienie zaplanowane w aplikacji, bez serwera, podlega tej samej regule.
- Promocja jest zdefiniowana szeroko. Obejmuje sprzedaż dodatkową i „sending any messages to promote the use of Your Application or advertise the availability of new features or versions”.
- Okienka iOS nie wolno obchodzić. Artykuł 1.3 zakazuje omijania panelu zgody Apple. Jeśli zgoda zostanie odrzucona lub wycofana, nic już nie wysyłasz.
Moja interpretacja: wiadomość „wróć do aplikacji” zbliża się do promocji, nawet bez ceny. Apple nie rozstrzyga tego przypadku i dlatego takie przypomnienia zgłaszam recenzentowi.
Co oznacza komunikat odrzucenia 4.5.4?
Najlepiej udokumentowane odrzucenie dotyczy aplikacji, która nie działa bez powiadomień. W wątku na forum B4X z 2018 roku Apple pisze: „Push notifications must be optional and must obtain the user's consent to be used within the app.” Deweloper zgłasza potem czarny ekran po odmowie uprawnienia. Trop podany w wątku: interfejs, który czekał na token powiadomień, żeby się wyświetlić.
Zakładaj, że recenzent odmawia uprawnień, żeby zobaczyć, co się stanie. Jeśli aplikacja się blokuje, naciska albo odbiera funkcję, dostajesz 4.5.4 lub 5.1.2(i). W przypadku marketingu bez zgody nie znalazłem żadnego niedawnego publicznego komunikatu odrzucenia.
Jaka zgoda dla jakiego powiadomienia?
Moja tabela łączy tekst Apple, licencję i wytyczne interfejsu. Wiersze „koniec okresu próbnego” i „przypomnienie o powrocie” to moja interpretacja, a nie pisemne stanowisko Apple.
| Typ powiadomienia | Wymagana zgoda | Zgodny przykład |
|---|---|---|
| Odpowiedź na działanie | Okienko iOS | „Twój eksport jest gotowy” |
| Wybrane przypomnienie | Okienko iOS | Lekcja dnia o 19:00 |
| Koniec okresu próbnego, odnowienie | Okienko iOS | „Twój okres próbny kończy się 12.” |
| Przypomnienie o powrocie | Okienko iOS + ostrożność | Bez ceny, tylko raz |
| Oferta lub zniżka | Okienko iOS + zgoda | Zaznaczone pole w aplikacji |
| Nowości w aplikacji | Okienko iOS + zgoda | Wysyłka tylko do zapisanych |
| Prywatna wiadomość, zdrowie | Nigdy treści | „Nowa wiadomość” |
| Powiadomienie tymczasowe | Na początku bez okienka | Przychodzi bez dźwięku i banera |
„Okienko iOS” to uprawnienie systemowe. „Zgoda” to osobny wybór w twojej aplikacji: zdanie mówiące, co będziesz wysyłać, i przełącznik domyślnie wyłączony.
Przypomnienia o subskrypcji i oferty
Strona Managing notifications w wytycznych interfejsu Apple wspomina subskrypcję: ktoś może docenić „an offer to become a subscriber”, jeśli zaakceptował powiadomienia marketingowe. Dodaje dwa obowiązki: ekran ustawień w aplikacji, żeby można było zmienić zdanie, i nigdy poziom „Time Sensitive” dla marketingu.
Granica, którą przyjmuję: przypomnienie informujące o już dokonanym zakupie nie jest ofertą, wiadomość zachęcająca do zakupu nią jest. „Twój okres próbny kończy się 12.” informuje. „50% zniżki przez 24 h” sprzedaje. Ekran zakupu, który otwiera powiadomienie, nadal podlega regule 3.1.2.
Powiadomienia ciche, czyli tymczasowe
Apple mówi o „provisional authorization” w swojej dokumentacji o uprawnieniach. Aplikacja może wysyłać powiadomienia bez wyświetlania okienka iOS. Przychodzą bez dźwięku i banera, tylko do historii centrum powiadomień, z przyciskami, żeby je zachować albo wyłączyć. W Expo to opcja requestPermissionsAsync:
import * as Notifications from "expo-notifications";
await Notifications.requestPermissionsAsync({
ios: {
allowAlert: true,
allowBadge: true,
allowSound: true,
allowProvisional: true,
},
});
Pole ios.status ma wtedy wartość IosAuthorizationStatus.PROVISIONAL, dopóki użytkownik nie dokona wyboru. Powiadomienie tymczasowe zastępuje okienko iOS, nie zgodę marketingową. Promocja wysłana w trybie tymczasowym nadal jest promocją.
Uwaga na słownictwo. W TradaZen „cichym powiadomieniem” nazywam przypomnienie o spokojnym tonie, wysyłane tylko wtedy, gdy okienko iOS zostało zaakceptowane. To nie jest uprawnienie tymczasowe.
Wdrożenie wyraźnej zgody w Expo
- Proś o uprawnienie iOS w kontekście. Apple radzi prosić po działaniu, które pokazuje korzyść, a nie przy pierwszym uruchomieniu. W TradaZen prośba pojawia się m.in. po nagrodzie w onboardingu albo po ukończonej lekcji. Ta sama logika co przy prośbie o ocenę.
- Dodaj osobną zgodę marketingową. Przełącznik domyślnie wyłączony, z jasnym zdaniem, np.: „Otrzymuj oferty i nowości, najwyżej raz w tygodniu.”
- Daj ekran ustawień. Przypomnienia i oferty wyłącza się w aplikacji, nie tylko w Ustawieniach iOS.
- Filtruj przy wysyłce. Twój serwer albo lokalny harmonogram wysyła promocję tylko osobom, które się zgodziły.
- Niech wszystko działa bez tego. Odmowa nie blokuje ani ekranu, ani funkcji, ani nagrody.
TradaZen: powiadomienie, które usunąłem
12 października 2026 wersja TradaZen zostaje odrzucona na podstawie reguły 5.6, która dotyczy zakupów uzyskanych manipulacją. Apple nie wskazuje konkretnego elementu. Przejrzałem więc cały lejek zakupowy, łącznie z powiadomieniami.
Problemem było jedno powiadomienie. Wyjście z aplikacji w trakcie onboardingu albo na ekranie subskrypcji planowało lokalną wiadomość: „Mam ekskluzywną zniżkę tylko dla ciebie.” Zależała wyłącznie od uprawnienia iOS, bez osobnej zgody marketingowej. To dokładnie promocja bez wyraźnej zgody, którą opisują 4.5.4 i licencja. Usunąłem ją we wszystkich trzydziestu językach aplikacji.
W jej miejsce jedno przypomnienie: „Twoja ścieżka na ciebie czeka. Wróć, kiedy chcesz, nic nie goni.” Jego ograniczenia:
- wysyłane tylko, jeśli powiadomienia są dozwolone;
- tylko raz na instalację, pięć minut po wyjściu z onboardingu lub ekranu subskrypcji;
- anulowane, jeśli użytkownik wróci wcześniej;
- żadnej ceny, żadnej zniżki, żadnego licznika, żadnego dźwięku.
To przypomnienie pozostaje w opisanej wyżej szarej strefie. Nie ukryłem go: jest opisane w notatkach dla recenzenta i w mojej odpowiedzi. O zgłoszonym przypomnieniu można dyskutować, ukryte wygląda na manewr.
Jak odpowiedzieć na odrzucenie 4.5.4?
Rozmowa toczy się w App Store Connect, gdzie odpowiadasz na wiadomość App Review. Najpierw popraw: usuń przymus, dodaj zgodę marketingową albo oczyść tekst, a potem zrób nowy build. Szablon, którego bym użył, do dostosowania:
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 4.5.4 przed wysłaniem
- Aplikacja działa w całości po odmowie uprawnień, bez zablokowanego ekranu ani odebranej nagrody.
- Okienko iOS pojawia się po użytecznym działaniu, nigdy na pierwszym ekranie.
- Każda promocja, lokalna lub zdalna, zależy od zgody marketingowej domyślnie wyłączonej.
- Ekran ustawień w aplikacji wyłącza przypomnienia i oferty.
- Żaden tekst powiadomienia nie pokazuje danych o zdrowiu, kwoty ani prywatnej wiadomości.
- Żadnej promocji na poziomie „Time Sensitive”.
- Notatki dla recenzenta wymieniają powiadomienia wysyłane w pierwszych dniach.
- Przetestowałeś ścieżkę, odmawiając każdego uprawnienia. Poradnik o TestFlight pokazuje, jak zainstalować build do tego testu.
Sprawdź swoje zgłoszenie przed wysłaniem
Review Kit zbiera moją checklistę przed wysłaniem, szablony notatek dla testera i skille Claude Code, które przeglądają twój projekt. Jeśli chcesz, żeby spojrzał na to człowiek, zarezerwuj godzinę ze mną: razem przejrzymy twoje powiadomienia i ekran ustawień na wideorozmowie. Całe podejście opisuję na stronie aplikacja odrzucona przez Apple.
Przygotowujesz swoje pierwsze wydanie? Zrób darmową diagnozę: ułoży kroki we właściwej kolejności i wyśle ci moją checklistę przeciw odrzuceniom Apple.
Najczęściej zadawane pytania
Co oznacza „Guideline 4.5.4 - Design - Apple Sites and Services”?
To nagłówek odrzucenia, gdy Apple uzna twoje powiadomienia za obowiązkowe, zbyt wścibskie albo promocyjne bez zgody. Przeczytaj zdanie po nagłówku: mówi, co stwierdził recenzent.
Czy można prosić o powiadomienia w trakcie onboardingu?
Tak, jeśli odmowa niczego nie blokuje, a prośba pojawia się po momencie, który pokazuje korzyść. Nigdy nie uzależniaj nagrody od zgody: 5.1.2(i) tego zakazuje.
Czy powiadomienie o końcu okresu próbnego to marketing?
Moja interpretacja: nie, jeśli tylko informuje o trwającym okresie próbnym. Jeśli proponuje zniżkę albo inną subskrypcję, staje się promocją i wymaga zgody marketingowej.
Czy 4.5.4 dotyczy powiadomień lokalnych?
Wytyczna mówi o powiadomieniach push, ale załącznik 1 do licencji deweloperskiej stosuje regułę o promocji do powiadomień lokalnych. Traktuj je tak samo.
Czy powiadomienie tymczasowe zwalnia ze zgody marketingowej?
Nie. Pozwala na początku ominąć okienko iOS, ale promocja pozostaje promocją: potrzebuje wyraźnej zgody w aplikacji i sposobu na jej wycofanie.

