# Guideline 4.5.4: Apple отклонил push-уведомления

> Guideline 4.5.4: для рекламного уведомления нужно явное согласие в приложении и способ отказаться, а приложение должно работать без уведомлений.

Оригинальная страница: [Guideline 4.5.4: Apple отклонил push-уведомления](https://devoria.fr/ru/blog/guideline-4-5-4-push-uvedomleniya-apple)
Автор: [Mehdi Azizi](https://devoria.fr/ru/mehdi-azizi)
Опубликовано: 2026-11-04
Последняя правка контента: 2026-11-04


Guideline 4.5.4 регулирует push-уведомления. Твоё приложение должно работать без них, никогда не передавать в них чувствительную информацию и никогда не использовать их для рекламы без согласия. **Маркетинговому уведомлению нужно письменное согласие в твоём приложении и переключатель, чтобы его отозвать, в дополнение к разрешению iOS.**

Я публикую свои iOS-приложения на Expo. В TradaZen, моём симуляторе трейдинга, я убрал уведомление, которое объявляло скидку, и заменил его напоминанием без предложения, о котором сообщил ревьюеру. Это руководство опирается на текст Apple, лицензионное соглашение разработчика, документацию и этот случай. Общую картину причин отказа смотри в статье [почему Apple отклоняет приложение](https://devoria.fr/ru/blog/otkaz-apple-app-store-prichiny).

## Что говорит guideline 4.5.4?

Правило находится в разделе 4 «Design», часть 4.5 «Apple Sites and Services», в [App Review Guidelines](https://developer.apple.com/app-store/review/guidelines/#4.5.4). Отсюда и заголовок отказа: «Guideline 4.5.4 - Design - Apple Sites and Services». Текст ставит три ограничения.

1. **Никаких обязательных уведомлений.** «Push Notifications must not be required for the app to function.» Отказ в окне iOS не должен ничего блокировать.
2. **Никакой чувствительной информации.** Они «should not be used to send sensitive personal or confidential information». Уведомление показывается на заблокированном экране, на глазах у кого угодно.
3. **Никакой рекламы без согласия.** Маркетинг запрещён, «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)](https://devoria.fr/ru/blog/guideline-5-1-2-third-party-ai-att-data-sharing) запрещает требовать включения уведомлений для доступа к функции, контенту или награде.

## Что добавляет лицензия разработчика

Guidelines говорят о push-уведомлениях. Приложение 1 к [Apple Developer Program License Agreement](https://developer.apple.com/support/terms/apple-developer-program-license-agreement/#A1), которое ты принял при регистрации, идёт дальше в трёх пунктах.

- **Локальные уведомления тоже касаются.** Статья 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](https://www.b4x.com/android/forum/threads/apple-app-store-rejected.89295/) 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](https://developer.apple.com/design/human-interface-guidelines/managing-notifications) гайда по интерфейсу Apple упоминает подписку: человеку может понравиться «an offer to become a subscriber», если он согласился на маркетинговые уведомления. Она добавляет две обязанности: экран настроек в приложении, чтобы передумать, и никогда не использовать уровень «Time Sensitive» для маркетинга.

Границу я провожу так: **напоминание, которое сообщает об уже сделанной покупке, не предложение, а сообщение, которое подталкивает купить, уже предложение.** «Пробный период закончится 12-го» информирует. «Скидка 50 % на 24 часа» продаёт. Экран покупки, который открывает уведомление, по-прежнему подчиняется [правилу 3.1.2](https://devoria.fr/ru/blog/guideline-3-1-2-app-rejected-subscription).

## Мягкие, или временные, уведомления

Apple говорит о «provisional authorization» в своей [документации о разрешениях](https://developer.apple.com/documentation/usernotifications/asking-permission-to-use-notifications). Приложение может отправлять уведомления, не показывая окно iOS. Они приходят без звука и баннера, только в историю центра уведомлений, с кнопками, чтобы оставить их или отключить. В Expo это опция [requestPermissionsAsync](https://docs.expo.dev/versions/latest/sdk/notifications/):

```ts
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: как настроить

1. **Запрашивай разрешение iOS в контексте.** Apple советует запрашивать его после действия, которое показывает пользу, а не при первом запуске. В TradaZen оно появляется, например, после награды в онбординге или пройденного урока. Та же логика, что и с [запросом оценки](https://devoria.fr/ru/blog/guideline-5-6-3-zapros-otsenki-app-store).
2. **Добавь отдельное маркетинговое согласие.** Переключатель, выключенный по умолчанию, с понятной фразой, например: «Получать предложения и новинки, не чаще раза в неделю.»
3. **Сделай экран настроек.** Напоминания и предложения отключаются в приложении, а не только в настройках iOS.
4. **Фильтруй при отправке.** Твой сервер или локальный планировщик отправляет рекламу только тем, кто согласился.
5. **Пусть всё работает без этого.** Отказ не блокирует ни экран, ни функцию, ни награду.

## TradaZen: уведомление, которое я убрал

12 октября 2026 года версию TradaZen отклонили по правилу 5.6, которое касается покупок, полученных манипуляцией. Apple не указывает, какой именно элемент виноват. Поэтому я перечитал всю воронку покупки, включая уведомления.

Одно уведомление было проблемным. Если выйти из приложения во время онбординга или на экране подписки, планировалось локальное сообщение: «У меня есть эксклюзивная скидка специально для тебя.» Оно зависело только от разрешения iOS, без отдельного маркетингового согласия. **Это та самая реклама без явного согласия, которую описывают 4.5.4 и лицензия.** Я удалил его во всех тридцати языках приложения.

Вместо него одно напоминание: «Твой путь ждёт. Продолжай, когда захочешь, спешить некуда.» Его ограничения:

- оно отправляется, только если уведомления разрешены;
- один раз на установку, через пять минут после выхода из онбординга или с экрана подписки;
- оно отменяется, если человек вернулся раньше;
- никакой цены, скидки, таймера, звука.

Это напоминание остаётся в серой зоне, описанной выше. Я его не скрывал: оно описано в заметках для ревью и в моём ответе ревьюеру. **Заявленное напоминание можно обсудить, скрытое выглядит как уловка.**

## Как ответить на отказ 4.5.4?

Переписка идёт в App Store Connect, где ты [отвечаешь на сообщение App Review](https://developer.apple.com/help/app-store-connect/manage-submissions-to-app-review/reply-to-app-review-messages/). Сначала исправь: убери обязательность, добавь маркетинговое согласие или почисти текст, затем собери новый билд. Шаблон, который я бы использовал, адаптируй под себя:

```text
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](https://devoria.fr/ru/blog/testflight-testirovanie-iphone-prilozheniya) показывает, как установить билд для такого теста.

## Проверь свою заявку перед отправкой

[Review Kit](https://devoria.fr/ru/kits/app-review) объединяет мой чек-лист перед отправкой, шаблоны заметок для тестировщика и skills для Claude Code, которые проверяют твой проект. Если нужен взгляд живого человека, [забронируй час со мной](https://devoria.fr/ru/coaching): вместе посмотрим твои уведомления и экран настроек по видеосвязи. Полный подход описан на странице [приложение отклонено Apple](https://devoria.fr/ru/expertise/app-rejected-by-apple).

Готовишь свой первый релиз? [Пройди бесплатную диагностику](https://devoria.fr/ru/diagnostic): она расставит шаги по порядку и пришлёт тебе мой чек-лист против отказов Apple.

## Частые вопросы

### Что значит «Guideline 4.5.4 - Design - Apple Sites and Services»?

Это заголовок отказа, когда Apple считает твои уведомления обязательными, слишком нескромными или рекламными без согласия. Прочитай фразу после заголовка: в ней сказано, что заметил ревьюер.

### Можно ли запрашивать уведомления во время онбординга?

Да, если отказ ничего не блокирует и запрос идёт после момента, который показывает пользу. Никогда не ставь награду в зависимость от согласия: это запрещает 5.1.2(i).

### Уведомление о конце пробного периода считается маркетингом?

Как я это понимаю: нет, если оно только сообщает о текущем пробном периоде. Если оно предлагает скидку или другую подписку, оно становится рекламой и требует маркетингового согласия.

### Касается ли 4.5.4 локальных уведомлений?

Guideline говорит о push-уведомлениях, но приложение 1 к лицензии разработчика применяет правило о рекламе и к локальным уведомлениям. Относись к ним так же.

### Освобождает ли временное уведомление от маркетингового согласия?

Нет. Оно позволяет обойтись без окна iOS в начале, но реклама остаётся рекламой: ей нужно явное согласие в приложении и способ отказаться.


## Твой проект

[Review Kit](https://devoria.fr/ru/kits/app-review): Мой чек-лист для ревью в App Store, исправленные отказы Apple, чек-лист для Google Play и три скилла для Claude Code. 55 $.

[iOS & Android Kit](https://devoria.fr/ru/kits/ios): Создай своё приложение для iPhone и Android с Claude Code: стартовый код моих приложений, путь до публикации в сторах и все киты. 109 $.

[Диагностика: что отделяет тебя от твоего iPhone-приложения](https://devoria.fr/ru/diagnostic): 7 вопросов, 60 секунд: ты узнаешь, что на самом деле мешает тебе опубликовать iPhone-приложение, получишь путь из 4 этапов и подходящий тебе кит.
