# Push-уведомления: как работают и что отправлять

> Push-уведомления простыми словами: как работают APNs и FCM, когда просить разрешение, что отправлять, чего не стоит и как мерить пользу.

Published: 2025-10-15 · Source: https://subxcat.com/ru/articles/push-notifications-basics · Author: SUBXCAT

Push-уведомления — это короткие сообщения, которые твой сервер присылает на телефон пользователя, даже когда приложение закрыто. Доставляет их не твой сервер напрямую, а служба платформы: у Apple это APNs, у Google — FCM.

Пуш — самый дешёвый способ вернуть человека в продукт и самый быстрый способ его потерять. Одно лишнее уведомление — и человек отключает их все, а то и удаляет приложение.

## Как работают push-уведомления

Схема одинаковая почти везде, меняются только названия:

1. Приложение просит у системы разрешение и получает токен устройства — длинную строку, адрес этого приложения на этом телефоне.
2. Приложение отправляет токен на твой сервер, и ты сохраняешь его рядом с пользователем.
3. Когда нужно что-то сообщить, сервер отправляет сообщение с токеном в APNs или FCM.
4. Служба платформы доставляет его на телефон, когда тот будет в сети.

Держать постоянное соединение с каждым телефоном тебе не нужно — это делает платформа. FCM умеет отправлять и на iPhone, передавая сообщение в APNs, поэтому многие используют его как единую точку для обеих платформ.

Сообщение — это небольшой JSON: заголовок, текст и данные, по которым приложение поймёт, какой экран открыть.

```json
{ "title": "Заказ в пути", "body": "Курьер будет с 14:00 до 16:00", "data": { "screen": "order", "id": "8412" } }
```

Две технические вещи, о которых часто забывают. Токены меняются и умирают — когда служба отвечает, что токен недействителен, его нужно удалить, иначе база заполнится мёртвыми адресами. И нажатие на уведомление должно вести на нужный экран, а не на главную: ради этого человек и нажал.

## Когда просить разрешение

На iPhone системный запрос показывается один раз. Если человек нажал «Не разрешать», вернуть его можно только через настройки телефона, и почти никто туда не идёт. На свежих версиях Android запрос тоже стал явным.

Поэтому не спрашивай на первом экране, когда человек ещё не понял, что это за приложение. Спрашивай в момент, когда польза очевидна:

- сразу после оформления заказа — «сообщить, когда курьер выедет?»;
- когда человек подписался на что-то — «прислать, когда начнётся?»;
- когда он сам поставил напоминание.

Хороший приём — сначала показать свой экран с объяснением и кнопками «Да» и «Не сейчас», и только после «Да» вызвать системный запрос. Отказ на своём экране ничего не сжигает — можно спросить позже. На iOS есть и тихий вариант: уведомления приходят в центр уведомлений без звука, а человек сам решает, оставить ли их.

## Что отправлять

Лучшие уведомления — те, которые человек и так ждёт:

- изменения статуса того, что он сделал: заказ, оплата, ответ на заявку;
- сообщения от других людей;
- напоминания, которые он поставил сам;
- события, на которые он подписался явно.

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

## Чего не отправлять

- «Мы скучаем!» и прочие уведомления, единственная цель которых — открытие приложения.
- Чувствительное на экране блокировки: коды входа, суммы, детали о здоровье. Экран блокировки видят все, кто рядом.
- Одно и то же сообщение по трём каналам одновременно — пуш, письмо и SMS.
- Уведомления ночью, потому что сервер живёт по своему часовому поясу.

Дай человеку выбирать типы: отдельные переключатели для заказов, сообщений и новостей в настройках приложения. На Android для этого есть каналы уведомлений — человек может выключить «Акции» и оставить «Заказы». Без такого выбора он выключит всё.

## Как мерить пользу

Считай не только нажатия:

- **доля разрешивших** — сколько людей сказали «да» и на каком экране спрашивали;
- **доставка** — сколько отправленных реально дошло, а сколько упёрлось в мёртвые токены;
- **открытия** по каждому типу уведомлений отдельно;
- **отключения** — после какого типа люди выключают уведомления или удаляют приложение;
- **целевое действие** — вернулся ли человек и сделал ли то, ради чего уведомление отправлено.

Самый честный способ понять, работает ли рассылка, — оставить небольшую контрольную группу без неё и сравнить удержание. Высокий процент открытий при растущих отключениях — плохой результат, а не хороший.

## Коротко

- Пуш доставляет служба платформы (APNs или FCM) по токену устройства, который хранит твой сервер.
- Разрешение спрашивай в момент очевидной пользы, а не на первом экране.
- Отправляй то, что человек ждёт; маркетинг — редко, днём и по делу.
- Не показывай чувствительное на экране блокировки и давай выбирать типы уведомлений.
- Меряй не открытия, а возвраты и отключения, лучше — с контрольной группой.

SUBXCAT может настроить уведомления от токенов до правил рассылки так, чтобы они возвращали людей, а не раздражали их.
