Push-уведомления
Push-уведомление (от англ. push — «толкать», «проталкивать») — это короткое всплывающее сообщение, которое сервер отправляет на устройство пользователя (смартфон, планшет, компьютер) без явного запроса со стороны получателя. Относится к категории технологий «сервер-клиент», где инициатором передачи данных выступает сервер. Ключевые характеристики: минимальный объём текста, отображение поверх другого интерфейса (экрана блокировки, рабочего стола, окна браузера) и принудительное привлечение внимания пользователя.
История развития
Технология push-уведомлений берёт начало в конце 1990-х годов. Первой коммерчески успешной реализацией стала система BlackBerry Push (канадская компания Research In Motion, 2003). Она позволяла корпоративным пользователям мгновенно получать электронную почту на мобильные устройства без ручной проверки почтового ящика. В отличие от модели polling (регулярная отправка запроса клиентом), push-архитектура снижала нагрузку на сеть и аккумулятор.
Массовое распространение технология получила в 2009 году с запуском Apple Push Notification Service (APNs) в составе операционной системы iOS 3.0. Это решение позволяло сторонним разработчикам отправлять уведомления на iPhone и iPad через единый сервер Apple, сохраняя при этом стабильную работу фоновых процессов. В 2010 году компания Google представила аналог — Cloud to Device Messaging (C2DM), который затем в 2012 году был заменён на Firebase Cloud Messaging (FCM). Для десктопных браузеров push-уведомления стали доступны с выходом стандарта W3C Push API (рекомендация World Wide Web Consortium, 2015 год).
Принцип работы
Push-уведомления функционируют на основе постоянного TCP-соединения между устройством и сервером платформы (Apple, Google, Microsoft). Процесс включает несколько этапов:
- Регистрация устройства. При первом запуске приложения, поддерживающего уведомления, устройство связывается с push-сервером операционной системы. Сервер генерирует уникальный токен (строку символов), который идентифицирует конкретное приложение на конкретном устройстве. Токен передаётся разработчику приложения (на его сервер).
- Отправка уведомления. Сервер разработчика (или доверенный сервер) отправляет запрос с токеном, заголовком и полезной нагрузкой (payload) на push-сервер операционной системы. Полезная нагрузка упаковывается в формат JSON (JavaScript Object Notation).
- Доставка. Push-сервер находит устройство по токену и передаёт уведомление. Если устройство находится в автономном режиме, сервер сохраняет сообщение и доставляет его при появлении сети. Для iOS и Android срок хранения ограничен (обычно не более 28 дней).
- Отображение. Операционная система получает данные, парсит их и отображает в виде всплывающего окна, значка (badge) и/или звукового сигнала (alert). Разработчик может задать поведение при нажатии — переход на конкретный экран приложения, открытие URL.
Архитектура push-сервисов
| Платформа | Сервис | Особенности |
|---|---|---|
| Apple iOS, iPadOS, macOS | Apple Push Notification Service (APNs) | Использует бинарный протокол, размер сообщения до 4 КБ. Поддерживает звук, вибрацию, бейджи |
| Google Android, Chrome | Firebase Cloud Messaging (FCM) | Размер полезной нагрузки до 4 КБ (до 2 КБ в режиме «data»). Интегрирован с Play Console |
| Microsoft Windows | Windows Push Notification Services (WNS) | Используется для приложений Universal Windows Platform (UWP). Требует учётной записи Microsoft |
| Браузеры | Push API (W3C-стандарт) | Работает через Service Workers (служебные скрипты). Необходимо разрешение пользователя |
Классификация
По содержанию и цели
- Информационные. Содержат новости, сводки погоды, обновления статуса покупки (например, «Заказ передан в доставку»). Цель — информирование без немедленного действия.
- Транзакционные. Подтверждают финансовые операции, регистрацию, оплату. Как правило, содержат код подтверждения (one-time password или OTP) или сумму списания.
- Рекламные / маркетинговые. Продвигают товары, услуги, акции, скидки. Например: «Наушники со скидкой 30% только сегодня». Часто имеют ограниченный срок действия.
- Социальные. Сообщения от мессенджеров (Telegram, WhatsApp, Viber), социальных сетей (VK, Одноклассники) — новые сообщения, упоминания, запросы в друзья.
По технической реализации
- Обычные (локальные). Формируются операционной системой или приложением без участия сервера. Например, напоминания из календаря или будильник.
- Серверные (классические push). Инициируются удалённым сервером. Описаны выше.
- Геотаргетированные (location-based). Активируются при входе пользователя в определённый географически очерчённый регион (геофенс). Используется в приложениях доставки, туризма, ритейла.
Доставка в браузерах
Для веб-сервисов push-уведомления реализуются через Web Push Protocol — открытый стандарт, выпущенный IETF в 2016 году (RFC 8292). Ключевой элемент — Service Worker, фоновый JavaScript-скрипт, который обрабатывает входящие уведомления, даже если страница браузера закрыта. Пользователь должен явно дать разрешение (через диалог браузера). В РФ все браузеры обязаны соблюдать требования Федерального закона № 152-ФЗ «О персональных данных»: согласие не должно быть предустановленным по умолчанию.
Значение и применение
Push-уведомления используются практически во всех категориях мобильных и веб-приложений:
- Электронная коммерция (Wildberries, Ozon, Яндекс.Маркет) — уведомления о скидках, статусе заказа.
- Банки (СберБанк, Т-Банк, ВТБ) — подтверждение операций, напоминания о платежах.
- Медицина — запись к врачу, напоминания о приёме лекарств.
- Образование — домашние задания, расписание.
- Доставка (Яндекс.Еда, СберМаркет) — статус курьера.
- Службы экстренного оповещения (МЧС России) — предупреждения о природных и техногенных угрозах.
Критика и ограничения
Проблемы конфиденциальности. Push-токены — это уникальные идентификаторы устройства. При их передаче третьим лицам (например, рекламным сетям) возможна деанонимизация пользователя. В 2020 году компания Apple запретила приложениям собирать push-токены для целей таргетинга без явного согласия, а в соответствии с законами РФ (№ 152-ФЗ) сбор токенов требует согласия субъекта персональных данных.
Чрезмерная назойливость. Массовое использование push-уведомлений привело к явлению «push-fatigue» (утомление от уведомлений). По данным исследований, более 60% пользователей отключают все уведомления от приложений в течение семи дней после установки. В 2023 году компания Google ввела автоматическое скрытие уведомлений от редко используемых приложений.
Риски фишинга и мошенничества. Злоумышленники могут имитировать push-уведомления от банков или госорганов, используя поддельные мобильные приложения. В России известны случаи распространения вредоносных программ, которые перехватывают тексты push-уведомлений для кражи одноразовых паролей (OTP). Банки и Минцифры РФ регулярно предупреждают граждан о недопустимости перехода по ссылкам в push-уведомлениях от неизвестных источников.
Зависимость от интерфейса. Push-уведомления не работают в офлайн-режиме (кроме локальных). Их доставка возможна только при наличии активного интернет-соединения или после его восстановления.
Технические ограничения
- Размер сообщения: для FCM и APNs — до 4 КБ (без учёта заголовков). Превышение приводит к обрыву соединения.
- Частота отправки: Apple ограничивает скорость APNs до 1000 уведомлений в секунду для одного приложения; Google не устанавливает жёстких лимитов, но при превышении определённого порога может снижать приоритет доставки.
- Приоритет: существует два уровня — «normal» (доставка при нормальной нагрузке на устройство) и «high» (немедленная доставка, требует потребления энергии). Для аварийных оповещений (например, землетрясение) используется приоритет «critical alert» (iOS), который обходит настройки беззвучного режима.
Интересные факты
- Российские мессенджеры (Telegram, Viber) используют собственные протоколы push-уведомлений, не всегда совместимые со стандартными push-сервисами операционных систем. Для Telegram на iOS применяется доработка APNs, а на Android — FCM.
- В 2021 году компания «Лаборатория Касперского» обнаружила троян Acecard, который в режиме реального времени подменял push-уведомления банковских приложений в России, направляя пользователей на фишинговые сайты.
- С 2021 года в России действует закон «О приложениях» (Федеральный закон № 479-ФЗ), согласно которому все приложения, распространяемые через официальные магазины приложений (App Store, Google Play, RuStore), обязаны запрашивать согласие на push-уведомления отдельно от основного разрешения на уведомления.
Источники
- Apple, «Local and Remote Notification Programming Guide». Apple Developer Documentation, 2023.
- Google, «Firebase Cloud Messaging — FCM Protocol». Firebase Documentation, 2024.
- W3C, «Push API Editor’s Draft». World Wide Web Consortium, 2016.
- Федеральный закон от 27 июля 2006 г. № 152-ФЗ «О персональных данных» (с изменениями на 2024 год).
- Федеральный закон от 29 июля 2021 г. № 479-ФЗ «О внесении изменений в Закон РФ «О защите прав потребителей» в части регулирования распространения приложений».
- «Push-уведомления как угроза безопасности: исследование троянов Acecard и Svpeng». Отчёт «Лаборатории Касперского», 2021.
BFOmetr — база данных и аналитика по компаниям России.
На главную BFOmetr →