Главная
» СЕТЕВОЙ АДМИНИСТРАТОР
»
Как исправить уведомления Element Android без сервисов Google: руководство по UnifiedPush
Как исправить уведомления Element Android без сервисов Google: руководство по UnifiedPush
Element может нормально получать сообщения, пока приложение открыто, но не оповещать вас после блокировки экрана. На телефоне Android без Google Play Services это обычно указывает на путь доставки, а не на саму учетную запись Matrix. Цель этого руководства — не просто заставить появиться одно тестовое уведомление. Хороший результат должен быть воспроизводимым: сообщения приходят, когда Element находится в фоновом режиме, после того, как телефон находится в режиме ожидания, и без необходимости повторного открытия приложения.
Это руководство посвящено текущей версии Element X для Android, которую Element рекомендует новым пользователям. По состоянию на 6 октября 2026 года, последняя публичная версия на GitHub — Element X Android 26.09.4, и в последних релизах активны компоненты UnifiedPush. UnifiedPush — это открытый протокол, позволяющий приложению Android получать push-уведомления через дистрибьютора, отличного от Google Firebase Cloud Messaging (FCM). В руководстве по проекту Element указано, что установка дистрибьютора UnifiedPush позволяет Element X обнаружить его и предложить в качестве поставщика push-уведомлений. См. репозиторий Element X для Android , релизы Element X для Android и обсуждение командой Element вопросов уведомлений без Google Play Services .
Как должен выглядеть успешный результат решения проблемы
Прежде чем менять настройки, определите желаемый результат. Система уведомлений работает корректно, если выполняются все следующие условия:
Android разрешает отправку уведомлений для Element.
Установлен и запущен дистрибьютор UnifiedPush, например ntfy, Sunup или другой поддерживаемый дистрибьютор.
В Element X этот дистрибьютор отображается как активный поставщик push-уведомлений.
Дистрибьютору разрешено работать в фоновом режиме, и он не переводится в режим ограниченного использования батареи Android.
В то время как Element полностью работает в фоновом режиме, приходит сообщение, отправленное с другого аккаунта Matrix.
Тот же тест по-прежнему работает, даже если телефон находится в режиме ожидания несколько минут.
Если сообщения появляются только после открытия Element, значит, синхронизация есть, но доставка в фоновом режиме ненадежна. Если же сообщения появляются сразу после открытия приложения, но задерживаются после его закрытия, сосредоточьтесь на распределителе push-уведомлений и ограничениях фоновой работы Android, а не на правилах уведомлений в комнатах.
Почему уведомления не работают без сервисов Google?
Большинство популярных приложений для Android используют FCM, службу push-уведомлений от Google, для активации приложения при появлении новых данных. В документации Element по уведомлениям поясняется, что для работы FCM требуются сервисы Google Play. На телефоне без сервисов Google конфигурация только с FCM не может обеспечить обычный способ активации. Android также ограничивает возможности обычных приложений в фоновом режиме, особенно когда устройство переходит в режим ожидания.
UnifiedPush заменяет эту зависимость дистрибьютором. Дистрибьютор — это приложение для Android, которое поддерживает соединение для push-уведомлений и передает входящие уведомления приложениям, зарегистрированным в нем. В проекте UnifiedPush перечислены ntfy, Sunup, NextPush, gCompat-UP и другие варианты. См. официальный список дистрибьюторов UnifiedPush .
Шаг 1: Убедитесь, что Android разрешено отображать уведомления Element.
Начните с самой простой точки отказа. В Android 13 и более поздних версиях приложениям требуется POST_NOTIFICATIONSразрешение во время выполнения, прежде чем смогут отображаться обычные уведомления. Откройте настройки Android, найдите Element X в разделе «Приложения» и убедитесь, что уведомления разрешены. Также проверьте отдельные категории уведомлений, если ваша версия Android или производитель предоставляют к ним доступ.
Перед устранением неполадок с передачей push-уведомлений Android должен разрешить получение уведомлений от Element X. В Android 13 и более поздних версиях разрешение на получение уведомлений может блокировать оповещения, даже если сама доставка push-уведомлений работает.
В официальной документации Android подтверждается, что недавно установленные приложения на Android 13 и более поздних версиях не могут отправлять обычные уведомления, пока пользователь не предоставит разрешение. См. документацию по разрешению на отправку уведомлений в Android .
Проверка качества: если Android показывает, что уведомления отключены, сначала исправьте это и повторите тестирование. Если уведомления уже разрешены, но ничего не приходит, пока Element находится в фоновом режиме, перейдите к поставщику push-уведомлений.
Шаг 2: Установите и активируйте дистрибьютора UnifiedPush.
Установите дистрибьютора UnifiedPush из источника, подходящего для вашего устройства. ntfy — распространенный выбор, поскольку он может использовать свой общедоступный сервер или собственный сервер. В руководстве по быстрому запуску UnifiedPush для ntfy пользователям предлагается установить ntfy, предоставить необходимые разрешения на уведомления и использование батареи, а затем выбрать ntfy в качестве дистрибьютора в совместимых приложениях. См. официальное руководство по быстрому запуску UnifiedPush для ntfy .
Откройте ntfy и убедитесь, что поддержка UnifiedPush включена. Если вы используете собственный сервер ntfy, убедитесь, что приложение Android подключено к этому серверу и что сервер доступен по протоколу HTTPS из текущей сети телефона.
Для работы дистрибьютора необходимо включить UnifiedPush и установить активное соединение с сервером. Точная формулировка может отличаться в зависимости от версии ntfy, но дистрибьютор должен быть готов до того, как Element сможет зарегистрироваться у него.
Проверка качества: одной установки ntfy недостаточно. Дистрибьютор должен быть включен и доступен. Если Element не видит дистрибьютора после установки, полностью закройте и снова откройте Element X, затем проверьте наличие обновлений приложения, прежде чем изменять настройки Matrix на стороне сервера.
Шаг 3: Выберите поставщика UnifiedPush в элементе X.
Откройте настройки Element X и перейдите в область уведомлений. Когда будет обнаружен совместимый дистрибьютор, Element X сможет предложить выбор поставщика push-уведомлений. Выберите установленный дистрибьютор UnifiedPush, а не Firebase/FCM. Разработчики проекта Element подробно описали этот процесс для устройств без сервисов Google, и текущий исходный код включает модуль поставщика push-уведомлений UnifiedPush.
Выберите установленный дистрибьютор UnifiedPush в Element X. Если ваша версия включает проверку уведомлений или средство устранения неполадок, запустите его перед изменением настроек батареи или конфигурации сервера.
Если в вашей сборке не отображается селектор провайдера даже после установки дистрибьютора, не стоит предполагать, что домашний сервер неисправен. Сначала обновите Element X до текущей поддерживаемой сборки и перезапустите Element X и дистрибьютора. Названия элементов пользовательского интерфейса изменились в разных версиях Element X, поэтому точное название меню может отличаться.
Проверка качества: полезным признаком является не только наличие имени поставщика. Отправьте реальное сообщение с другого аккаунта Matrix, пока Element находится в фоновом режиме. Работающий поставщик должен заставить устройство разбудить Element и отобразить уведомление о сообщении без необходимости открывать приложение вручную.
Шаг 4: Снимите ограничения на использование фоновых данных с дистрибьютора.
UnifiedPush зависит от того, насколько доступен дистрибьютор. Если Android переводит ntfy или другой дистрибьютор в состояние «Ограниченное использование батареи», соединение для отправки push-уведомлений может быть приостановлено. Android описывает три основных режима фоновой работы батареи на многих устройствах: «Неограниченный», «Оптимизированный» и «Ограниченный». Режим «Ограниченный» может блокировать выполнение заданий, оповещений и работу служб переднего плана, от которых зависят приложения.
Для устранения неполадок разрешите дистрибьютору UnifiedPush работать без ограничений по расходу заряда батареи. Это может увеличить потребление заряда батареи, поэтому оставляйте эту настройку только в том случае, если она существенно повышает надежность работы вашего устройства.
Откройте настройки Android для дистрибьютора и измените режим использования батареи с «Ограниченный» на «Неограниченный», если уведомления задерживаются или исчезают в периоды бездействия. Вы также можете проверить сам Element X и убедиться, что он не имеет явных ограничений. В сборках Android от конкретного производителя могут быть добавлены отдельные элементы управления для автозапуска, фоновой передачи данных или спящего режима приложений.
В документации Google по Android отмечается, что выбранное пользователем состояние «Ограничено» может полностью предотвратить работу приложения в фоновом режиме на некоторых устройствах. См. руководство по оптимизации фоновой работы Android .
Проверка качества: заблокируйте телефон и оставьте его в режиме ожидания на 10-20 минут, затем отправьте несколько сообщений с другого аккаунта. Если оповещения приходят оперативно и стабильно, значит, фоновый процесс работает лучше, чем тест, проведенный сразу после открытия приложения.
Как определить, какая именно часть всё ещё неисправна?
Наблюдаемый результат
Наиболее вероятная область
Следующее действие
Никаких уведомлений, даже когда Element открыт.
Правила комнаты, настройки уведомлений учетной записи или разрешение на уведомления Android.
Сначала проверьте настройки уведомлений для комнат/аккаунтов в Element и разрешения для Android.
Уведомления появляются только при открытии элемента.
Фоновое соединение поставщика или дистрибьютора push-уведомлений
Подтвердите, что Element использует UnifiedPush, и снимите ограничения на использование батареи с дистрибьютора.
Работает несколько минут, затем останавливается после простоя.
Режим сна, управление батареей от производителя, политики приложений для сна
Установите для дистрибьютора режим «Без ограничений» и проверьте фоновые настройки, специфичные для производителя.
В элементе отображается дистрибьютор, но реальных сообщений не поступает.
Сервер-распространитель, шлюз рассылки Matrix или ограничение скорости на конечной точке.
Перед переустановкой Element протестируйте его на другом дистрибьюторе/сервере.
Только в одной комнате царит тишина.
Правило уведомления для конкретного помещения
Вместо изменения глобальных настроек push-уведомлений проверьте уровень уведомлений в этой комнате.
Когда следует отказаться от текущей конфигурации
Конфигурация может быть технически корректной, но при этом плохо подходить. В системе отслеживания ошибок Element задокументированы случаи, когда некоторые конечные точки UnifiedPush, включая общедоступную инфраструктуру ntfy в определенных сценариях Matrix, могут иметь ограничения по скорости запросов, что означает, что регистрация может выглядеть корректной, но уведомления все равно не приходят. См. проблему Element, связанную с ограничением скорости запросов к конечным точкам UnifiedPush .
Если права доступа, выбор поставщика и настройки батареи верны, но доставка остается нестабильной, попробуйте другого дистрибьютора UnifiedPush или собственный сервер push-уведомлений. UnifiedPush документирует как варианты с размещением на собственном сервере, так и с самостоятельным размещением. Зачастую это более эффективный диагностический шаг, чем многократная очистка данных Element, поскольку он изменяет ту часть цепочки доставки, которая, скорее всего, дает сбой.
Самостоятельное размещение может обеспечить больший контроль, но добавляет операционную ответственность. Для ntfy шлюз Matrix должен быть правильно настроен для развертывания с самостоятельным размещением. Это требование указано в официальном руководстве UnifiedPush ntfy. Не переходите на самостоятельное размещение только потому, что одно тестовое уведомление было задержано; переключайтесь, когда сбои повторяются, и вы уже исключили ограничения Android.
А что насчет более старой версии приложения Element для Android?
В предыдущем поколении Android-приложения Element также реализовывалась работа без FCM и UnifiedPush. В его официальной документации описаны как фоновый опрос F-Droid, так и поддержка UnifiedPush. Однако Element теперь рекомендует Element X для новых пользователей, поэтому текущий путь Element X является лучшей отправной точкой, если у вас нет особых требований к совместимости. Детали устаревшей реализации остаются полезными для понимания того, почему один только опрос менее надежен в режимах простоя Android. См. архивную/текущую документацию проекта по UnifiedPush в Element Android .
Контрольный список для окончательной проверки
Разрешение на отправку уведомлений Android для Element X включено.
Установлен, включен и подключен дистрибьютор UnifiedPush.
В Element X настроено использование этого распределителя.
Дистрибьютор не находится в режиме ограниченного использования батареи Android.
Сообщение с другого аккаунта вызывает уведомление, когда Element находится в фоновом режиме.
Тот же тест работает и после того, как телефон находится в режиме ожидания.
Если доставка по-прежнему не удается, проверьте другого дистрибьютора или сервер, прежде чем сбрасывать учетную запись Matrix.
Не существует универсальной настройки, гарантирующей мгновенную доставку уведомлений на каждой сборке Android. Производители устройств могут устанавливать дополнительные ограничения в фоновом режиме, сети могут создавать помехи для постоянных соединений, а точка отправки уведомлений может быть временно недоступна или иметь ограничение по скорости. Поэтому наилучшим результатом является воспроизводимое поведение в нескольких фоновых и неактивных тестах, а не одно успешное уведомление.