Служба push-сообщений Huawei (HMS Push Kit) — это системный фреймворк, обеспечивающий доставку уведомлений на устройства без поддержки сервисов Google (GMS). Она работает как единый канал связи между серверами разработчиков и вашим смартфоном, позволяя приложениям получать данные в фоновом режиме без постоянного активного соединения.

В экосистеме HMS данная служба заменяет Firebase Cloud Messaging (FCM) и тесно интегрирована в прошивку EMUI и HarmonyOS. Без её корректной работы перестают приходить оповещения от банковских приложений, мессенджеров, почтовых клиентов и системных сервисов Huawei.

Как работает HMS Push Kit и зачем он нужен

Механизм основан на постоянном TCP-соединении между устройством и серверами пуша Huawei. Когда приложение должно получить уведомление, сервер разработчика отправляет запрос в облако Huawei, которое мгновенно передает данные через этот открытый канал. Это исключает необходимость для каждого приложения держать собственное фоновое соединение, экономя заряд батареи и трафик.

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

Для конечного пользователя работа невидима до момента сбоя. Если служба остановлена или ограничена режимом экономии энергии, приложения перестают «видеть» сервер до ручного запуска.

Основные функции и роль в системе

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

Дополнительные функции включают:

  • 🔄 Автоматическое восстановление соединения при смене сети (Wi-Fi → мобильная сеть)
  • 🛡️ Шифрование трафика между устройством и облаком Huawei
  • 📦 Пакетная доставка для снижения нагрузки на радиомодуль
  • 🔧 API для разработчиков: темы подписки, токены устройств, аналитика доставки

Служба также отвечает за передачу системных событий: обновления прошивки, предупреждения безопасности, синхронизацию облака Huawei Cloud.

💡

HMS Push Kit — единственный системный канал пушей на устройствах без GMS; от его работы зависит получение всех уведомлений.

Технические детали протокола

Связь идет через порт 5223 (XMPP) или 443 (HTTPS/WebSocket). Устройство держит «heartbeat» (пульс) каждые 20–30 минут в фоне для поддержания NAT-записей в роутере. При разрыве переподключение происходит с экспоненциальной задержкой.

📊 Получаете ли вы уведомления от всех приложений на своем Huawei/Honor сейчас?
Да, всё приходит вовремя
Иногда пропадают у отдельных приложений
Часто не приходят, пока не открою приложение вручную
Не пользуюсь push-уведомлениями

Влияние на автономность и производительность

Многие пользователи ошибочно считают службу «виновной» разряда батареи, видя её в статистике потребления. На самом деле HMS Push Kit потребляет минимальные ресурсы — обычно 1–3% за сутки — так как просто держит одно системное сокет-соединение.

Проблемы с разрядом возникают, когда:

  • ⚡ Множество приложений шлют частые data-сообщения, будя процессор
  • 📶 Нестабильная сеть заставляет службу постоянно переподключаться
  • 🔋 Агрессивные режимы экономии энергии убивают процесс, а он перезапускается в цикле

Правильная настройка исключений в оптимизаторе батареи решает 90% таких случаев. Отключение службы полностью лишает смартфон уведомлений, но не дает прироста автономности более 30–60 минут экранного времени.

⚠️ Внимание: Не добавляйте «Службу push сообщений» в список исключений оптимизации батареи через «Настройки → Батарея → Запуск приложений» — это системный процесс, он управляется отдельно в «Приложения → Все приложения → Служба push сообщений → Батарея → Неограниченно».

Почему перестают приходить уведомления: частые причины

Самая распространенная причина — агрессивное управление автозапуском в EMUI/HarmonyOS. Система по умолчанию блокирует фоновую активность недавно установленных приложений, и они теряют связь с пуш-сервером до ручного запуска.

Другие факторы сбоев:

  • 🌐 Ограничение фоновых данных для «Службы push сообщений» в настройках трафика
  • 🔒 Работа VPN или прокси, режущие постоянное соединение с серверами Huawei
  • 🧹 Чистильщики памяти (Phone Master, встроенная оптимизация), убивающие системные сервисы
  • 📅 Устаревший токен устройства после сброса настроек или переустановки HMS Core

На старых версиях EMUI 10/11 также встречался баг с потерей токена при смене часового пояса — исправляется обновлением HMS Core через AppGallery.

☑️ Быстрая диагностика отсутствия пушей

Выполнено: 0 / 5

Настройка и восстановление работы службы

Восстановление доставки уведомлений начинается с проверки системных разрешений. Откройте Настройки → Приложения → Меню (три точки) → Показать системные процессы → Служба push сообщений. Убедитесь, что включены разрешения на «Автозапуск», «Фоновая активность» и «Доступ к данным в фоне».

Критично настроить политику питания для самой службы:

  1. Зайдите в Настройки → Батарея → Запуск приложений
  2. Найдите «Служба push сообщений» (может называться «HMS Push Service»)
  3. Выключите переключатель «Автоматически»
  4. Включите «Автозапуск», «Вторичный запуск», «Запуск в фоне»

Для конкретных приложений-получателей настройте Настройки → Приложения → [Приложение] → Батарея → Неограниченно. Это разрешает им просыпаться по пушу даже в режиме экономии.

⚠️ Внимание: На смартфонах с HarmonyOS 3.0+ меню перемещено: «Настройки → Батарея → Дополнительные настройки → Управление автозапуском». Системные службы там скрыты — настройте исключения для самих приложений-клиентов.

HMS Push Kit против FCM: ключевые отличия

Если вы перешли с телефона с GMS, важно понимать архитектурные различия. FCM (Google) и HMS Push Kit (Huawei) — это две независимые инфраструктуры. Приложение должно поддерживать обе или ту, что доступна на устройстве.

ПараметрFCM (Google)HMS Push Kit (Huawei)
ДоступностьТребует GMSРаботает без GMS
Токен устройстваRegistration TokenPush Token (AAID)
Макс. размер полезной нагрузки4 КБ4 КБ (notification), 8 КБ (data)
Приоритеты доставкиhigh / normalhigh / normal / low
Тематические подпискиTopicsTopics (аналогично)

На устройствах с Dual Space (двойное пространство) каждая копия приложения получает свой токен HMS. Уведомления в клоне приходят независимо от основного профиля.

💡

Если уведомления не приходят только в клоне приложения — проверьте настройки батареи именно для клона: «Настройки → Приложения → Двойное пространство → [Приложение] → Батарея → Неограниченно».

💡

Разработчики должны интегрировать обе SDK (FCM и HMS) для покрытия 100% аудитории; пользователю достаточно, чтобы HMS Core был обновлен.

Вопросы безопасности и приватности

Служба передает в облако Huawei только метаданные доставки: токен устройства, время получения, статус (доставлено/провалено). Содержимое уведомлений (текст сообщения, заголовок) шифруется на стороне разработчика приложения и не читается серверами пуша.

Токен устройства (AAID) анонимизирован и не привязан к Huawei ID напрямую. Он ротируется при сбросе рекламного идентификатора или переустановке HMS Core. Пользователь может сбросить токен через Настройки → Безопасность и приватность → Рекламный идентификатор → Сбросить.

Для корпоративных устройств MDM-профили могут блокировать HMS Push Kit — в этом случае уведомления корпоративных приложений не будут работать без настройки политик разрешенных сервисов.

⚠️ Внимание: Удаление обновлений HMS Core или отключение «Службы push сообщений» через ADB (pm disable-user) приведет к полной потере пушей во всех приложениях экосистемы Huawei, включая системные (Телефон, Сообщения, Календарь). Восстановление возможно только переустановкой HMS Core через AppGallery.

Часто задаваемые вопросы (FAQ)

Можно ли полностью удалить службу push сообщений?

Нет, это системный компонент прошивки. Можно только отключить через ADB (pm disable-user --user 0 com.huawei.android.pushagent), но это сломает уведомления во всей системе. При обновлении прошивки служба восстановится автоматически.

Почему служба потребляет много трафика в фоне?

Обычно это 1–5 Мб в сутки на «heartbeat» пакеты. Если трафик десятки мегабайт — проверьте, не зациклился ли процесс переподключения из-за VPN/прокси или проблем с DNS. Сброс настроек сети помогает.

Влияет ли смена региона в настройках на работу пушей?

Да. Серверы пуша выбираются по региону аккаунта Huawei ID. Смена региона требует перезагрузки и может временно (до нескольких часов) прервать доставку до обновления токена на новом кластере серверов.

Как проверить, работает ли пуш-соединение прямо сейчас?

Введите в телефоне код ##2846579## → ProjectMenu → Background Check → Push Connection Status. Статус «Connected» означает активное сокет-соединение. Доступно на EMUI 10–12, на HarmonyOS меню скрыто.

Помогает ли очистка кэша HMS Core при проблемах с уведомлениями?

Помогает, если проблема в поврежденном локальном токене или устаревшем конфиге. Очистите: «Настройки → Приложения → HMS Core → Память → Очистить кэш». Данные (Clear Data) лучше не удалять — выйдете из Huawei ID.