Guideline 4.5.4: Apple отклонил push-уведомления
Автор: Mehdi Azizi
Опубликовано , 9 мин
Guideline 4.5.4: для рекламного уведомления нужно явное согласие в приложении и способ отказаться, а приложение должно работать без уведомлений.
Guideline 4.5.4 регулирует push-уведомления. Твоё приложение должно работать без них, никогда не передавать в них чувствительную информацию и никогда не использовать их для рекламы без согласия. Маркетинговому уведомлению нужно письменное согласие в твоём приложении и переключатель, чтобы его отозвать, в дополнение к разрешению iOS.
Я публикую свои iOS-приложения на Expo. В TradaZen, моём симуляторе трейдинга, я убрал уведомление, которое объявляло скидку, и заменил его напоминанием без предложения, о котором сообщил ревьюеру. Это руководство опирается на текст Apple, лицензионное соглашение разработчика, документацию и этот случай. Общую картину причин отказа смотри в статье почему Apple отклоняет приложение.
Что говорит guideline 4.5.4?
Правило находится в разделе 4 «Design», часть 4.5 «Apple Sites and Services», в App Review Guidelines. Отсюда и заголовок отказа: «Guideline 4.5.4 - Design - Apple Sites and Services». Текст ставит три ограничения.
- Никаких обязательных уведомлений. «Push Notifications must not be required for the app to function.» Отказ в окне iOS не должен ничего блокировать.
- Никакой чувствительной информации. Они «should not be used to send sensitive personal or confidential information». Уведомление показывается на заблокированном экране, на глазах у кого угодно.
- Никакой рекламы без согласия. Маркетинг запрещён, «unless customers have explicitly opted in to receive them via consent language displayed in your app's UI», и нужен «a method in your app for a user to opt out».
Последняя фраза предупреждает: за злоупотребления можно лишиться доступа к сервису. Картину дополняют два соседних правила. 4.5.3 запрещает спам через уведомления. 5.1.2(i) запрещает требовать включения уведомлений для доступа к функции, контенту или награде.
Что добавляет лицензия разработчика
Guidelines говорят о push-уведомлениях. Приложение 1 к Apple Developer Program License Agreement, которое ты принял при регистрации, идёт дальше в трёх пунктах.
- Локальные уведомления тоже касаются. Статья 2.2 упоминает «the APN or Local Notifications». Напоминание, запланированное в приложении без сервера, подчиняется тому же правилу.
- Реклама определена широко. Сюда входят допродажи и «sending any messages to promote the use of Your Application or advertise the availability of new features or versions».
- Окно iOS трогать нельзя. Статья 1.3 запрещает обходить панель согласия Apple. Если согласие не дано или отозвано, ты больше ничего не отправляешь.
Как я это понимаю: сообщение «вернись в приложение» близко к рекламе, даже без цены. Apple этот случай прямо не решает, поэтому я сообщаю о таких напоминаниях ревьюеру.
Что значит сообщение об отказе 4.5.4?
Лучше всего задокументирован отказ для приложения, которое не работает без уведомлений. В ветке форума B4X 2018 года Apple пишет: «Push notifications must be optional and must obtain the user's consent to be used within the app.» Затем разработчик сообщает о чёрном экране после отказа в разрешении. Версия в ветке: интерфейс ждал токен уведомлений, чтобы отобразиться.
Исходи из того, что ревьюер отклоняет разрешения, чтобы посмотреть, что будет. Если приложение зависает, настаивает или отключает функцию, прилетает 4.5.4 или 5.1.2(i). Свежих публичных отказов за маркетинг без согласия я не нашёл.
Какое согласие для какого уведомления?
Моя таблица сводит текст Apple, лицензию и гайд по интерфейсу. Строки «конец пробного периода» и «напоминание о возврате» отражают моё понимание, а не письменную позицию Apple.
| Тип уведомления | Нужное согласие | Пример по правилам |
|---|---|---|
| Ответ на действие | Окно iOS | «Твой экспорт готов» |
| Выбранное напоминание | Окно iOS | Урок дня в 19:00 |
| Конец пробного периода, продление | Окно iOS | «Пробный период закончится 12-го» |
| Напоминание о возврате | Окно iOS + осторожность | Без цены, только один раз |
| Предложение или скидка | Окно iOS + согласие | Отмеченный флажок в приложении |
| Новинки приложения | Окно iOS + согласие | Отправка только подписавшимся |
| Личное сообщение, здоровье | Никогда не показывать содержимое | «Новое сообщение» |
| Временное уведомление | Сначала без окна | Приходит без звука и баннера |
«Окно iOS» означает системное разрешение. «Согласие» означает отдельный выбор в твоём приложении: фраза о том, что ты будешь отправлять, и переключатель, выключенный по умолчанию.
Напоминания о подписке и предложения
Страница Managing notifications гайда по интерфейсу Apple упоминает подписку: человеку может понравиться «an offer to become a subscriber», если он согласился на маркетинговые уведомления. Она добавляет две обязанности: экран настроек в приложении, чтобы передумать, и никогда не использовать уровень «Time Sensitive» для маркетинга.
Границу я провожу так: напоминание, которое сообщает об уже сделанной покупке, не предложение, а сообщение, которое подталкивает купить, уже предложение. «Пробный период закончится 12-го» информирует. «Скидка 50 % на 24 часа» продаёт. Экран покупки, который открывает уведомление, по-прежнему подчиняется правилу 3.1.2.
Мягкие, или временные, уведомления
Apple говорит о «provisional authorization» в своей документации о разрешениях. Приложение может отправлять уведомления, не показывая окно iOS. Они приходят без звука и баннера, только в историю центра уведомлений, с кнопками, чтобы оставить их или отключить. В Expo это опция requestPermissionsAsync:
import * as Notifications from "expo-notifications";
await Notifications.requestPermissionsAsync({
ios: {
allowAlert: true,
allowBadge: true,
allowSound: true,
allowProvisional: true,
},
});
Поле ios.status тогда равно IosAuthorizationStatus.PROVISIONAL, пока человек не сделал выбор. Временное уведомление заменяет окно iOS, но не маркетинговое согласие. Реклама, отправленная во временном режиме, остаётся рекламой.
Осторожно с терминами. В TradaZen я называю «мягким уведомлением» напоминание спокойным тоном, которое отправляется, только если окно iOS было принято. Это не временное разрешение.
Явное согласие в Expo: как настроить
- Запрашивай разрешение iOS в контексте. Apple советует запрашивать его после действия, которое показывает пользу, а не при первом запуске. В TradaZen оно появляется, например, после награды в онбординге или пройденного урока. Та же логика, что и с запросом оценки.
- Добавь отдельное маркетинговое согласие. Переключатель, выключенный по умолчанию, с понятной фразой, например: «Получать предложения и новинки, не чаще раза в неделю.»
- Сделай экран настроек. Напоминания и предложения отключаются в приложении, а не только в настройках iOS.
- Фильтруй при отправке. Твой сервер или локальный планировщик отправляет рекламу только тем, кто согласился.
- Пусть всё работает без этого. Отказ не блокирует ни экран, ни функцию, ни награду.
TradaZen: уведомление, которое я убрал
12 октября 2026 года версию TradaZen отклонили по правилу 5.6, которое касается покупок, полученных манипуляцией. Apple не указывает, какой именно элемент виноват. Поэтому я перечитал всю воронку покупки, включая уведомления.
Одно уведомление было проблемным. Если выйти из приложения во время онбординга или на экране подписки, планировалось локальное сообщение: «У меня есть эксклюзивная скидка специально для тебя.» Оно зависело только от разрешения iOS, без отдельного маркетингового согласия. Это та самая реклама без явного согласия, которую описывают 4.5.4 и лицензия. Я удалил его во всех тридцати языках приложения.
Вместо него одно напоминание: «Твой путь ждёт. Продолжай, когда захочешь, спешить некуда.» Его ограничения:
- оно отправляется, только если уведомления разрешены;
- один раз на установку, через пять минут после выхода из онбординга или с экрана подписки;
- оно отменяется, если человек вернулся раньше;
- никакой цены, скидки, таймера, звука.
Это напоминание остаётся в серой зоне, описанной выше. Я его не скрывал: оно описано в заметках для ревью и в моём ответе ревьюеру. Заявленное напоминание можно обсудить, скрытое выглядит как уловка.
Как ответить на отказ 4.5.4?
Переписка идёт в App Store Connect, где ты отвечаешь на сообщение App Review. Сначала исправь: убери обязательность, добавь маркетинговое согласие или почисти текст, затем собери новый билд. Шаблон, который я бы использовал, адаптируй под себя:
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,
Чек-лист 4.5.4 перед отправкой
- Приложением можно полностью пользоваться после отказа в разрешении, без заблокированного экрана и отнятой награды.
- Окно iOS появляется после полезного действия, никогда на первом экране.
- Каждая реклама, локальная или удалённая, зависит от маркетингового согласия, выключенного по умолчанию.
- Экран настроек в приложении отключает напоминания и предложения.
- Ни один текст уведомления не показывает данные о здоровье, сумму или личное сообщение.
- Никакой рекламы на уровне «Time Sensitive».
- В заметках для ревью перечислены уведомления, отправляемые в первые дни.
- Ты протестировал сценарий, отказывая в каждом разрешении. Руководство по TestFlight показывает, как установить билд для такого теста.
Проверь свою заявку перед отправкой
Review Kit объединяет мой чек-лист перед отправкой, шаблоны заметок для тестировщика и skills для Claude Code, которые проверяют твой проект. Если нужен взгляд живого человека, забронируй час со мной: вместе посмотрим твои уведомления и экран настроек по видеосвязи. Полный подход описан на странице приложение отклонено Apple.
Готовишь свой первый релиз? Пройди бесплатную диагностику: она расставит шаги по порядку и пришлёт тебе мой чек-лист против отказов Apple.
Частые вопросы
Что значит «Guideline 4.5.4 - Design - Apple Sites and Services»?
Это заголовок отказа, когда Apple считает твои уведомления обязательными, слишком нескромными или рекламными без согласия. Прочитай фразу после заголовка: в ней сказано, что заметил ревьюер.
Можно ли запрашивать уведомления во время онбординга?
Да, если отказ ничего не блокирует и запрос идёт после момента, который показывает пользу. Никогда не ставь награду в зависимость от согласия: это запрещает 5.1.2(i).
Уведомление о конце пробного периода считается маркетингом?
Как я это понимаю: нет, если оно только сообщает о текущем пробном периоде. Если оно предлагает скидку или другую подписку, оно становится рекламой и требует маркетингового согласия.
Касается ли 4.5.4 локальных уведомлений?
Guideline говорит о push-уведомлениях, но приложение 1 к лицензии разработчика применяет правило о рекламе и к локальным уведомлениям. Относись к ним так же.
Освобождает ли временное уведомление от маркетингового согласия?
Нет. Оно позволяет обойтись без окна iOS в начале, но реклама остаётся рекламой: ей нужно явное согласие в приложении и способ отказаться.

