Отсутствие пушей от ВКонтакте на смартфонах Huawei и Honor в 90% случаев вызвано агрессивными алгоритмами управления энергопотреблением в EMUI и HarmonyOS, которые по умолчанию усыпляют фоновые процессы мессенджеров. Система воспринимает длительную активность VK как угрозу автономности и блокирует прием данных через FCM или HMS Push Kit, если приложение явно не добавлено в исключения. Проблема усугубляется отсутствием полноценных сервисов Google (GMS) на новых моделях, из-за чего разработчики вынуждены переключать доставку на проприетарную платформу Huawei Mobile Services.

Пользователь часто не подозревает, что виноват не сервер ВК и не сбой интернета, а системный профиль экономии заряда или отключенный автозапуск. Даже включенные уведомления в настройках самого приложения не гарантируют доставку, если системный «Менеджер телефона» запретил клиенту держать сокет-соединение открытым. Ниже мы последовательно пройдемся по всем уровням ограничений — от бытовых до глубоких системных — и вернем стабильную работу пушей.

Причины сбоя доставки пушей в VK на Huawei

Корень проблемы кроется в архитектуре Android без GMS. На смартфонах с HarmonyOS и актуальными версиями EMUI 12–14 доставка уведомлений идет через HMS Push Kit — аналог Firebase Cloud Messaging. Если клиент VK некорректно зарегистрирован в HMS Core, токен пуша не обновляется, и сервер не знает, куда слать сообщение. Параллельно работает механизм App Launch (Управление автозапуском), который по умолчанию стоит в режиме «Автоматически» и жестко режет фоновую активность любого стороннего софта.

Вторая частая причина — профиль экономии энергии или «Супер-экономия», активированный при заряде ниже 20–30%. В этом режиме ОС полностью запрещает фоновый трафик для несистемных приложений, включая мессенджеры. Третий фактор — настройка «Адаптивное питание» (Adaptive Battery), которая обучается привычкам пользователя и может «выучить», что VK открывается редко, поэтому его не нужно будить. Четвертый — кэш и данные HMS Core и самого VK, которые со временем повреждаются и ломают канал доставки.

  • 🔋 Агрессивное управление батареей (App Launch, Adaptive Battery, режимы экономии).
  • 📡 Сбой регистрации токена в HMS Push Kit (актуально для устройств без GMS).
  • 🛑 Запрет автозапуска и фоновой активности в «Менеджере телефона».
  • 🗑 Поврежденный кэш HMS Core, VK или системного компонента «Уведомления».
  • 🌐 Нестабильная работа каналов доставки (переключение Wi-Fi/мобильная сеть, IPv6).
⚠️ Внимание: На смартфонах серии Mate 60, Pura 70 и новее (чистый HarmonyOS NEXT) классический Android-подход к настройке автозапуска изменился — настройки перенесены в «Приложения → VK → Батарея», а раздела «App Launch» в «Менеджере телефона» может не существовать.

Настройка батареи: разрешаем фоновую активность VK

Первым делом нужно снять ограничения питания для клиента ВКонтакте. Зайдите в Настройки → Батарея → Дополнительные настройки → Управление автозапуском (App Launch). Найдите VK в списке, отключите переключатель «Автоматически» и вручную включите все три пункта: Автозапуск, Вторичный запуск и Фоновая работа. Это даст системе понять: VK имеет право просыпать процессор и держать сетевое соединение в любое время.

Если у вас HarmonyOS 4.0 и выше, путь выглядит иначе: Настройки → Приложения → VK → Батарея. Выберите пункт «Разрешить фоновую активность» и отключите «Приостанавливать активность, если не используется». Дополнительно проверьте раздел Настройки → Батарея → Режимы экономии — убедитесь, что VK не добавлен в список приложений, которые «приостанавливаются» при включении режима экономии.

☑️ Чек-лист

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

После изменения настроек обязательно перезагрузите устройство. Без ребута системный сервис PowerGenie (управляющий процессами) может не применить новые правила к уже запущенному процессу VK. Проверьте доставку: попросите друга написать сообщение, пока экран выключен не менее 10–15 минут. Если пуш пришел — проблема решена на уровне питания.

Настройки уведомлений внутри приложения и системы

Даже при идеальной настройке батареи пуши не придут, если они заблокированы на уровне каналов уведомлений Android. Откройте Настройки → Приложения → VK → Уведомления. Убедитесь, что мастер-переключатель «Показывать уведомления» включен. Прокрутите вниз до разделов «Сообщения», «Упоминания», «Лайвы» и прочих категорий — у каждого должен быть активен переключатель и выбран звук или вибрация, а не «Беззвучный».

В самом приложении VK зайдите в Настройки → Уведомления → Настройки уведомлений. Проверьте, что для нужных типов событий (личные сообщения, чаты, комментарии) стоит галочка «Push-уведомления». Иногда после обновления клиента настройки сбрасываются на дефолт, где пуши отключены для «менее важных» категорий. Также проверьте пункт «Не беспокоить» в системных настройках (Настройки → Звук и вибрация → Не беспокоить) — он не должен быть включен по расписанию или вручную.

⚠️ Внимание: На EMUI/HarmonyOS существует отдельный системный компонент «Уведомления» (пакет com.android.systemui или com.huawei.systemui). Если вы чистили память через «Менеджер телефона → Очистка», мог быть удален кэш этого компонента, что ломает отображение баннеров. Помогает перезагрузка или сброс настроек приложений в Настройки → Приложения → Меню (три точки) → Сбросить настройки приложений.

Особенности EMUI и HarmonyOS: Protected Apps и HMS Core

На прошивках EMUI 10–11 и ранних версиях HarmonyOS 2.0 существовал раздел «Защищенные приложения» (Настройки → Батарея → Защищенные приложения). Добавление VK туда запрещало системе убивать его процесс при очистке памяти. В современных версиях этот раздел скрыт или заменен на «Управление автозапуском», описанный выше. Однако на некоторых региональных прошивках (CN, Global) он всё ещё доступен через поиск в настройках — введите «Защищенные» в строке поиска настроек.

Критически важным компонентом является HMS Core (Huawei Mobile Services). Это системный фреймворк, отвечающий за Push Kit, Account Kit и другие API. Если версия HMS Core устарела (< 6.5.0), токен пуша VK не может обновиться. Обновите HMS Core через AppGallery → Я → Обновления или скачайте актуальный APK с официального сайта разработчика Huawei. Также проверьте, не отключен ли HMS Core в Настройки → Приложения → Показать системные → HMS Core → Батарея — он должен иметь разрешение на фоновую работу.

Техническая деталь

как работает HMS Push Kit:HMS Push Kit использует постоянное TCP-соединение (long-lived connection) между устройством и серверами Huawei. При регистрации приложения VK получает уникальный токен (push token), который привязан к пакету приложения и экземпляру HMS Core. Если пользователь выходит из аккаунта Huawei ID, очищает данные HMS Core или меняет прошивку, токен инвалидируется. Приложение должно перерегистрироваться при следующем запуске. Если фоновый запуск запрещен — перерегистрации не происходит, сервер ВК не знает адрес доставки. Для диагностики разработчики используют логи тега "HMSPushKit" через ADB (logcat).

Проверка каналов доставки: FCM vs HMS Push Kit

На смартфонах с GMS (старая линейка P30, Mate 20 и ранее) VK использует Firebase Cloud Messaging (FCM). На новых устройствах без GMS — только HMS Push Kit. Проблема возникает в гибридном режиме: если на телефоне установлены GMS (через GSpace, MicroG или официальный пакет для регионов, где они разрешены), VK может попытаться зарегистрироваться в FCM, но токен не пройдет из-за отсутствия сервисов Google Play в фоне. Результат — дублирование или полная потеря пушей.

Чтобы зафиксировать канал доставки, в настройках VK (если доступно) или через меню разработчика в приложении (долгое нажатие на версию в «О программе») можно принудительно выбрать провайдера пушей. Но проще всего — убедиться, что HMS Core обновлен, а Google Play Services либо отсутствуют, либо не мешают. Если вы ставили GMS вручную — удалите их и вернитесь на чистый HMS. Это решает 95% конфликтов доставки на новых Huawei.

Параметр Устройства с GMS (до 2019 г.) Устройства без GMS (HarmonyOS / EMUI 11+) Действие пользователя
Канал пушей FCM (Firebase) HMS Push Kit Не смешивать GMS и HMS
Ключевой системный сервис Google Play Services HMS Core (AppGallery) Обновлять через AppGallery
Управление автозапуском App Launch (EMUI) App Launch / Настройки приложения (HarmonyOS) Ручной режим + 3 галочки
Режим экономии Приостанавливает FCM Блокирует HMS сокет Исключить VK из экономии
Диагностика logcat: GCM/FCM logcat: HMSPushKit Требует ADB / ПК

Дополнительные меры: кэш, переустановка, сброс настроек

Если настройки питания и уведомлений в порядке, а пушей нет — чистим кэш. Зайдите в Настройки → Приложения → VK → Память → Очистить кэш. Не нажимайте «Очистить данные» — это разлогинит аккаунт. Затем то же самое сделайте для HMS Core (показать системные приложения) и для системного компонента «Уведомления» / «Служба уведомлений». После очистки кэша HMS Core обязательно откройте AppGallery, зайдите в «Я → Обновления» и обновите HMS Core до последней версии.

Если не помогло — удалите VK полностью и установите заново через AppGallery (версия для HMS) или через RuStore / официальный сайт vk.com (версия с FCM, если GMS есть). Версия из AppGallery лучше интегрирована в HMS Push Kit. При первой установке дайте все запрошенные разрешения: уведомления, автозапуск, доступ к контактам (для синхронизации), телефон (для звонков в VK).

💡

Полезный совет: Если вы используете клонирование приложений (Твины/Двойные приложения) для второго аккаунта VK, настройте питание и уведомления отдельно для клона. Клон — это отдельный пакет (обычно com.vkontakte.android.clone), у него свои настройки батареи и свой токен пуша. Часто пользователь настраивает основной VK, а клон остается в «Автоматическом» режиме и не получает сообщения.

Крайняя мера — сброс настроек приложений (неfactory reset!). Путь: Настройки → Приложения → Меню (три точки вверху справа) → Сбросить настройки приложений. Это вернет все разрешения, ограничения батареи, настройки уведомлений и дефолтные приложения к заводским значениям без удаления личных данных. После сброса заново настройте автозапуск VK и разрешения на уведомления. Это решает проблемы, вызванные конфликтующими системными политиками после обновлений ОС.

💡

Главный вывод: На Huawei/Honor стабильная доставка VK зависит от трех условий: 1) VK в исключениях батареи (ручной режим App Launch с тремя галочками). 2) Актуальный HMS Core и разрешение ему на фон. 3) Включенные каналы уведомлений в системе и в приложении. Без выполнения всех трех пункта пуши будут теряться при выключенном экране.

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

Почему уведомления приходят только когда открываю приложение?

Это классический симптом блокировки фоновой активности. Процесс VK «убит» системой через 10–20 минут после блокировки экрана. При открытии приложение переподключается к серверу и скачивает накопившиеся сообщения. Решение: настройте «Управление автозапуском» на «Ручной» с включенными тремя пунктами (Автозапуск, Вторичный запуск, Фоновая работа) и исключите VK из режимов экономии энергии.

Обновил EMUI/HarmonyOS — пропали пуши. Что делать?

После крупного обновления ОС системные политики питания сбрасываются на дефолт (агрессивный). Настройки «App Launch» для VK возвращаются в режим «Автоматически». Зайдите в настройки батареи и снова переведите VK в ручной режим с полными разрешениями. Также проверьте версию HMS Core — она могла откатиться или потребовать обновления через AppGallery.

Помогает ли установка Google Play Services (GMS) для возврата пушей?

На новых моделях (Mate 40 и новее, серия Pura, Nova 9+) официальной поддержки GMS нет. Установка через GSpace/MicroG создает нестабильную среду: VK может пытаться использовать FCM, но без системной интеграции Google Play Services токен не удерживается. Рекомендуется оставаться на нативном HMS Push Kit: обновить HMS Core, настроить автозапуск и пользоваться версией VK из AppGallery или RuStore.

Звук уведомления есть, но баннера на экране блокировки нет.

Проверьте настройки отображения на экране блокировки: Настройки → Уведомления → На экране блокировки — должно стоять «Показывать содержимое» или «Показывать значки». Также в настройках самого VK (внутри приложения) проверьте пункт «Показывать на экране блокировки». На HarmonyOS 4+ это дублируется в Настройки → Приложения → VK → Уведомления → Категории → Сообщения → На экране блокировки.

Как проверить, работает ли HMS Push Kit на моем телефоне?

Простейший тест: установите приложение «HMS Core Diagnostic Tool» (есть в AppGallery) или используйте тестовый пуш из меню разработчика в самом VK (Настройки → О программе → 5 тапов по версии → Меню разработчика → Тестовый пуш). Если тестовый пуш приходит мгновенно при выключенном экране — канал доставки работает, проблема в настройках уведомлений конкретных чатов или в «Не беспокоить».

📊 Какая настройка помогла вернуть уведомления ВК на вашем Huawei?
Ручной режим App Launch (автозапуск + фон)
Обновление HMS Core через AppGallery
Очистка кэша HMS Core и VK
Сброс настроек приложений
Удаление GMS / MicroG
Ничего не помогло