Fix Element Android Notifications Without Google Services: UnifiedPush Guide

Element can receive messages normally while it is open yet fail to alert you after the screen is locked. On an Android phone without Google Play Services, that usually points to the delivery path rather than the Matrix account itself. The goal of this guide is not merely to make one test notification appear. A good result is repeatable: messages arrive while Element is in the background, after the phone has been idle, and without needing to reopen the app.

This guide focuses on current Element X for Android, which Element recommends for new users. As of October 6, 2026, the latest public GitHub release is Element X Android 26.09.4, and recent releases include active UnifiedPush components. UnifiedPush is an open protocol that lets an Android app receive push messages through a distributor other than Google's Firebase Cloud Messaging (FCM). Element's own project guidance states that installing a UnifiedPush distributor allows Element X to detect it and offer it as a push provider. See the Element X Android repository, Element X Android releases, and the Element team discussion on notifications without Google Play Services.

What a successful fix should look like

Before changing settings, define the result you are trying to achieve. A notification setup is healthy when all of the following are true:

  • Android allows notifications for Element.
  • A UnifiedPush distributor such as ntfy, Sunup, or another supported distributor is installed and running.
  • Element X shows that distributor as its active push provider.
  • The distributor is allowed to run in the background and is not placed in Android's Restricted battery state.
  • A message sent from another Matrix account arrives while Element is fully in the background.
  • The same test still works after the phone has been idle for several minutes.

If messages appear only after opening Element, you have synchronization but not reliable background delivery. If they appear immediately while the app is open but are delayed when it is closed, focus on the push distributor and Android background restrictions rather than room notification rules.

Why notifications fail without Google services

Most mainstream Android applications use FCM, Google's push service, to wake the app when new data is available. Element's notification documentation explains that FCM requires Google Play Services. On a de-Googled phone, an FCM-only configuration cannot provide the normal wake-up path. Android also limits what ordinary applications can do in the background, especially when a device enters idle states.

UnifiedPush replaces that dependency with a distributor. A distributor is the Android app that maintains the push connection and passes incoming notifications to applications that registered with it. The UnifiedPush project lists ntfy, Sunup, NextPush, gCompat-UP, and other options. See the official UnifiedPush distributor list.

Step 1: Confirm Android is allowed to show Element notifications

Start with the simplest failure point. On Android 13 and later, applications need the POST_NOTIFICATIONS runtime permission before normal notifications can appear. Open Android Settings, find Element X under Apps, and verify that notifications are allowed. Also review individual notification categories if your Android version or manufacturer exposes them.

Android App notifications screen for Element X with Allow notifications enabled and sound and vibration selected
Android should allow Element X notifications before you troubleshoot the push transport. On Android 13 and later, notification permission can block alerts even when push delivery itself is working.

Android's official documentation confirms that newly installed apps on Android 13 or later cannot send ordinary notifications until the user grants permission. See the Android notification permission documentation.

Quality check: if Android shows notifications disabled, fix that first and retest. If notifications are already allowed but nothing arrives while Element is backgrounded, continue to the push provider.

Step 2: Install and enable a UnifiedPush distributor

Install a UnifiedPush distributor from a source appropriate for your device. ntfy is a common choice because it can use its public server or a self-hosted server. The UnifiedPush quickstart for ntfy instructs users to install ntfy, grant the required notification and battery permissions, then select ntfy as the distributor inside compatible applications. See the official ntfy UnifiedPush quickstart.

Open ntfy and make sure UnifiedPush support is enabled. If you use a self-hosted ntfy server, verify that the Android app is connected to that server and that the server is reachable over HTTPS from the phone's current network.

ntfy settings screen with Enable UnifiedPush switched on and a server configured
The distributor must have UnifiedPush enabled and an active server connection. The exact wording can differ by ntfy version, but the distributor must be ready before Element can register with it.

Quality check: simply having ntfy installed is not enough. The distributor should be enabled and reachable. If Element cannot see the distributor after installation, fully close and reopen Element X, then check for app updates before changing server-side Matrix settings.

Step 3: Select the UnifiedPush provider inside Element X

Open Element X settings and go to the notification area. When a compatible distributor is detected, Element X can expose a push-provider choice. Select the installed UnifiedPush distributor rather than Firebase/FCM. Element's project maintainers explicitly described this flow for devices without Google services, and current source includes a UnifiedPush push-provider module.

Element X settings showing ntfy selected as the push provider and a test notifications option
Select the installed UnifiedPush distributor in Element X. If your version includes a notification test or troubleshooter, run it before changing battery settings or server configuration.

If your build does not show a provider selector even after a distributor is installed, do not assume the homeserver is broken. First update Element X to a current supported build and restart both Element X and the distributor. UI labels have changed across Element X releases, so the exact menu name may differ.

Quality check: the useful sign is not just that the provider name appears. Send a real message from another Matrix account while Element is backgrounded. A working provider should cause the device to wake Element and display the message notification without opening the app manually.

Step 4: Remove background restrictions from the distributor

UnifiedPush depends on the distributor staying reachable. If Android places ntfy or another distributor in a Restricted battery state, the push connection can be suspended. Android documents three broad background battery modes on many devices: Unrestricted, Optimized, and Restricted. Restricted can prevent jobs, alarms, and foreground-service behavior that apps rely on.

Android Battery usage screen for ntfy with Unrestricted selected instead of Optimized or Restricted
For troubleshooting, allow the UnifiedPush distributor to run without battery restrictions. This may increase battery use, so keep the setting only if it materially improves reliability on your device.

Open Android Settings for the distributor and change battery usage from Restricted to Unrestricted if notifications are delayed or disappear during idle periods. You can also inspect Element X itself and make sure it is not explicitly restricted. Manufacturer-specific Android builds may add separate controls for auto-start, background data, or app sleeping.

Google's Android documentation notes that a user-selected Restricted state can fully prevent an app from running in the background on some devices. See Android background optimization guidance.

Quality check: lock the phone and leave it idle for 10 to 20 minutes, then send several messages from another account. If alerts arrive promptly and consistently, the background path is healthier than a test performed immediately after opening the app.

How to tell which part is still failing

Observed resultMost likely areaNext action
No notification even while Element is openRoom rules, account notification settings, or Android notification permissionCheck Element's room/account notification settings and Android permission first.
Notifications appear only when Element is openedPush provider or distributor background connectionConfirm Element is using UnifiedPush and remove battery restrictions from the distributor.
Works for a few minutes, then stops after idleDoze, OEM battery controls, sleeping-app policiesSet the distributor to Unrestricted and inspect manufacturer-specific background controls.
Element shows a distributor, but no real messages arriveDistributor server, Matrix push gateway, or endpoint rate limitingTest a different distributor/server before reinstalling Element.
Only one room is silentRoom-specific notification ruleCheck that room's notification level instead of changing global push settings.

When to switch away from the current setup

A configuration can be technically correct and still be a poor fit. Element's tracker documents cases where some UnifiedPush endpoints, including public ntfy infrastructure in certain Matrix scenarios, can be rate-limited, which means registration may look correct while notifications still fail to arrive. See Element's issue on UnifiedPush endpoint rate limiting.

If permission, provider selection, and battery settings are all correct but delivery remains inconsistent, try a different UnifiedPush distributor or a self-hosted push server. UnifiedPush documents both hosted and self-hosted choices. This is often a better diagnostic step than repeatedly clearing Element data, because it changes the part of the delivery chain most likely to be failing.

Self-hosting can provide more control, but it adds operational responsibility. For ntfy, the Matrix gateway must be configured correctly for a self-hosted deployment. The official UnifiedPush ntfy guide notes this requirement. Do not move to self-hosting solely because one test notification was delayed; switch when failures are repeatable and you have already ruled out Android restrictions.

What about the older Element Android app?

The previous-generation Element Android application also implemented non-FCM operation and UnifiedPush. Its official documentation describes both F-Droid background polling and UnifiedPush support. However, Element now recommends Element X for new users, so the current Element X path is the better starting point unless you have a specific compatibility requirement. The legacy implementation details remain useful for understanding why polling alone is less reliable under Android idle modes. See the archived/current project documentation for UnifiedPush in Element Android.

Final verification checklist

  • Android notification permission for Element X is enabled.
  • A UnifiedPush distributor is installed, enabled, and connected.
  • Element X is configured to use that distributor.
  • The distributor is not in Android's Restricted battery mode.
  • A message from another account produces a notification while Element is backgrounded.
  • The same test works after the phone has been idle.
  • If delivery still fails, you test another distributor or server before resetting the Matrix account.

There is no universal setting that guarantees instant delivery on every Android build. Device vendors can impose additional background restrictions, networks can interfere with persistent connections, and a push endpoint can be temporarily unavailable or rate-limited. The strongest result is therefore repeatable behavior across several background and idle tests, not a single successful notification.

Leave a Comment

7 Best WSUS Tools for Update Management and Troubleshooting

7 Best WSUS Tools for Update Management and Troubleshooting

Compare seven tools that support or complement WSUS, from Microsoft’s native console and diagnostics to third-party patch publishing and remote deployment.

Best Windows System Monitoring Tools: 6 Picks for Server Visibility

Best Windows System Monitoring Tools: 6 Picks for Server Visibility

Compare six Windows system monitoring tools for server health, application visibility, and alerting, with current notes on deployment and licensing.

7 Wake-on-LAN Tools: What’s Still Available From the 2021 List

7 Wake-on-LAN Tools: What’s Still Available From the 2021 List

Compare seven Wake-on-LAN tools by features and availability, including free utilities, network-admin suites, and 2021 picks that have since been retired.

9 Best Ping Tools for Testing Latency and Scanning a Network

9 Best Ping Tools for Testing Latency and Scanning a Network

Compare nine ping tools for quick reachability checks, subnet discovery, TCP tests, and latency monitoring, with guidance on which one fits your network task.

Best TFTP Servers for Windows, Linux, and macOS

Best TFTP Servers for Windows, Linux, and macOS

Compare the best TFTP servers for Windows, Linux, and macOS, including SolarWinds, Tftpd64, tftpd-hpa, atftpd, haneWIN, and dnsmasq.

5 Best Microsoft Access Alternatives for Desktop and Web Databases

5 Best Microsoft Access Alternatives for Desktop and Web Databases

Compare five Microsoft Access alternatives for desktop, SQLite, no-code, and browser-based database work, with strengths, limits, and best-fit use cases.

Open-Source vs. Closed-Source Monitoring Tools Compared

Open-Source vs. Closed-Source Monitoring Tools Compared

Compare open-source and closed-source monitoring tools by cost, support, customization, security, and current options including Zabbix, Nagios, PRTG, and more.

Ingress vs. Egress: What’s the Difference in Networking?

Ingress vs. Egress: What’s the Difference in Networking?

Understand how ingress and egress describe incoming and outgoing traffic, why direction depends on the network boundary, and how to monitor bandwidth and spot risky data transfers.

6 Best Free Syslog Servers to Try for Centralized Logging

6 Best Free Syslog Servers to Try for Centralized Logging

Compare six free syslog servers and collectors for Windows and Linux, including GUI tools, open-source options, search, alerting, and secure transport.

What Is IIS? Microsoft’s Windows Web Server and Alternatives

What Is IIS? Microsoft’s Windows Web Server and Alternatives

See what Microsoft IIS does, how its request pipeline and application pools work, and when Apache, NGINX, or Caddy may fit your web server needs better.