Napraw powiadomienia Element Android bez usług Google: poradnik UnifiedPush
Aplikacja Element może normalnie odbierać wiadomości, gdy jest otwarta, ale nie powiadamia o nich po zablokowaniu ekranu. Na telefonie z Androidem bez Usług Google Play zazwyczaj wskazuje to na ścieżkę dostarczania, a nie na samo konto Matrix. Celem tego poradnika nie jest jedynie wyświetlenie jednego powiadomienia testowego. Dobrym rezultatem jest powtarzalność: wiadomości docierają, gdy aplikacja Element działa w tle, po okresie bezczynności telefonu i bez konieczności ponownego otwierania aplikacji.
Niniejszy przewodnik koncentruje się na aktualnej wersji Element X na Androida, którą Element poleca nowym użytkownikom. Na dzień 6 października 2026 r. najnowszą publiczną wersją w serwisie GitHub jest Element X Android 26.09.4, a ostatnie wydania zawierają aktywne komponenty UnifiedPush. UnifiedPush to otwarty protokół, który umożliwia aplikacji na Androida odbieranie wiadomości push za pośrednictwem dystrybutora innego niż Google Firebase Cloud Messaging (FCM). Własne wytyczne projektu Element stwierdzają, że zainstalowanie dystrybutora UnifiedPush umożliwia Element X wykrycie go i zaoferowanie jako dostawcy push. Zobacz repozytorium Element X na Androida , wydania Element X na Androida oraz dyskusję zespołu Element na temat powiadomień bez Usług Google Play .
Jak powinna wyglądać udana naprawa
Przed zmianą ustawień zdefiniuj rezultat, który chcesz osiągnąć. Konfiguracja powiadomień jest prawidłowa, gdy spełnione są wszystkie poniższe warunki:
Android umożliwia wyświetlanie powiadomień dla Element.
Dystrybutor UnifiedPush, taki jak ntfy, Sunup lub inny obsługiwany dystrybutor, jest zainstalowany i uruchomiony.
Element X pokazuje tego dystrybutora jako swojego aktywnego dostawcę push.
Dystrybutor może działać w tle i nie jest przełączany w tryb ograniczonego zużycia baterii systemu Android.
Wiadomość wysłana z innego konta Matrix dociera, gdy Element działa w tle.
Ten sam test działa nawet po kilku minutach bezczynności telefonu.
Jeśli wiadomości pojawiają się dopiero po otwarciu Elementu, masz synchronizację, ale nie masz niezawodnego dostarczania w tle. Jeśli pojawiają się natychmiast po otwarciu aplikacji, ale z opóźnieniem po jej zamknięciu, skup się na ograniczeniach dystrybucji push i tła Androida, a nie na regułach powiadomień w pokoju.
Dlaczego powiadomienia nie działają bez usług Google
Większość popularnych aplikacji na Androida korzysta z usługi push Google'a (FCM), aby wybudzić aplikację po pojawieniu się nowych danych. Dokumentacja powiadomień Elementu wyjaśnia, że FCM wymaga Usług Google Play. Na telefonie bez usług Google'a konfiguracja oparta wyłącznie na FCM nie zapewnia standardowej ścieżki wybudzania. Android ogranicza również działania zwykłych aplikacji w tle, zwłaszcza gdy urządzenie przechodzi w stan bezczynności.
UnifiedPush zastępuje tę zależność dystrybutorem. Dystrybutor to aplikacja na Androida, która utrzymuje połączenie push i przekazuje przychodzące powiadomienia do aplikacji, które się z nim zarejestrowały. Projekt UnifiedPush obejmuje ntfy, Sunup, NextPush, gCompat-UP i inne opcje. Zobacz oficjalną listę dystrybutorów UnifiedPush .
Krok 1: Sprawdź, czy system Android ma uprawnienia do wyświetlania powiadomień Element
Zacznij od najprostszego punktu awarii. W systemie Android 13 i nowszych aplikacje potrzebują POST_NOTIFICATIONSuprawnień środowiska uruchomieniowego, aby mogły wyświetlać się normalne powiadomienia. Otwórz Ustawienia Androida, znajdź Element X w sekcji Aplikacje i sprawdź, czy powiadomienia są dozwolone. Sprawdź również poszczególne kategorie powiadomień, jeśli Twoja wersja Androida lub producent je udostępnia.
Android powinien zezwolić na powiadomienia Element X przed rozwiązaniem problemów z przesyłem push. W systemie Android 13 i nowszych uprawnienia do powiadomień mogą blokować alerty nawet wtedy, gdy samo dostarczanie push działa.
Oficjalna dokumentacja Androida potwierdza, że nowo zainstalowane aplikacje w systemie Android 13 lub nowszym nie mogą wysyłać zwykłych powiadomień, dopóki użytkownik nie udzieli na to pozwolenia. Zapoznaj się z dokumentacją dotyczącą uprawnień do powiadomień w systemie Android .
Kontrola jakości: jeśli Android wyświetla powiadomienia wyłączone, najpierw to popraw i przetestuj ponownie. Jeśli powiadomienia są już dozwolone, ale nic nie przychodzi, gdy Element jest w tle, przejdź do dostawcy push.
Krok 2: Zainstaluj i włącz dystrybutora UnifiedPush
Zainstaluj dystrybutora UnifiedPush ze źródła odpowiedniego dla Twojego urządzenia. ntfy to popularny wybór, ponieważ może korzystać z serwera publicznego lub z serwera hostowanego samodzielnie. Instrukcja szybkiego startu UnifiedPush dla ntfy instruuje użytkowników, aby zainstalowali ntfy, udzielili wymaganych uprawnień do powiadomień i baterii, a następnie wybrali ntfy jako dystrybutora w kompatybilnych aplikacjach. Zobacz oficjalną instrukcję szybkiego startu ntfy UnifiedPush .
Otwórz ntfy i upewnij się, że obsługa UnifiedPush jest włączona. Jeśli korzystasz z własnego serwera ntfy, sprawdź, czy aplikacja na Androida jest połączona z tym serwerem i czy serwer jest dostępny przez HTTPS z bieżącej sieci telefonu.
Dystrybutor musi mieć włączoną usługę UnifiedPush i aktywne połączenie z serwerem. Dokładne sformułowanie może się różnić w zależności od wersji NTFY, ale dystrybutor musi być gotowy, zanim Element będzie mógł się w nim zarejestrować.
Kontrola jakości: samo zainstalowanie ntfy nie wystarczy. Dystrybutor powinien być włączony i dostępny. Jeśli Element nie widzi dystrybutora po instalacji, zamknij i ponownie otwórz Element X, a następnie sprawdź dostępność aktualizacji aplikacji przed zmianą ustawień Matrix po stronie serwera.
Krok 3: Wybierz dostawcę UnifiedPush w Element X
Otwórz ustawienia Element X i przejdź do obszaru powiadomień. Po wykryciu kompatybilnego dystrybutora Element X może udostępnić wybór dostawcy push. Wybierz zainstalowanego dystrybutora UnifiedPush zamiast Firebase/FCM. Opiekunowie projektu Element wyraźnie opisali ten przepływ dla urządzeń bez usług Google, a obecne źródło zawiera moduł dostawcy push UnifiedPush.
Wybierz zainstalowanego dystrybutora UnifiedPush w Element X. Jeśli Twoja wersja zawiera test powiadomień lub narzędzie do rozwiązywania problemów, uruchom je przed zmianą ustawień baterii lub konfiguracji serwera.
Jeśli Twoja kompilacja nie wyświetla selektora dostawcy nawet po zainstalowaniu dystrybutora, nie zakładaj, że serwer domowy jest uszkodzony. Najpierw zaktualizuj Element X do aktualnej obsługiwanej kompilacji i uruchom ponownie Element X oraz dystrybutora. Etykiety interfejsu użytkownika zmieniły się w różnych wersjach Element X, więc dokładna nazwa menu może się różnić.
Kontrola jakości: użytecznym znakiem nie jest tylko wyświetlanie nazwy dostawcy. Wyślij prawdziwą wiadomość z innego konta Matrix, gdy Element działa w tle. Działający dostawca powinien powodować wybudzanie urządzenia z Element i wyświetlanie powiadomienia o wiadomości bez ręcznego otwierania aplikacji.
Krok 4: Usuń ograniczenia tła z dystrybutora
Funkcja UnifiedPush wymaga, aby dystrybutor pozostawał w kontakcie. Jeśli Android umieści ntfy lub innego dystrybutora w stanie ograniczonego naładowania baterii, połączenie push może zostać zawieszone. Android dokumentuje trzy ogólne tryby pracy baterii w tle na wielu urządzeniach: nieograniczony, zoptymalizowany i ograniczony. Ograniczony tryb może blokować zadania, alarmy i działanie usług na pierwszym planie, od których zależą aplikacje.
W celu rozwiązania problemu, zezwól dystrybutorowi UnifiedPush na działanie bez ograniczeń baterii. Może to zwiększyć zużycie baterii, dlatego korzystaj z tego ustawienia tylko wtedy, gdy znacząco poprawia ono niezawodność urządzenia.
Otwórz ustawienia Androida dla dystrybutora i zmień zużycie baterii z Ograniczonego na Nieograniczone, jeśli powiadomienia są opóźnione lub znikają w okresach bezczynności. Możesz również sprawdzić sam Element X i upewnić się, że nie jest wyraźnie ograniczony. Wersje Androida specyficzne dla danego producenta mogą zawierać osobne elementy sterujące dla automatycznego uruchamiania, danych w tle lub uśpienia aplikacji.
Dokumentacja Androida firmy Google informuje, że wybrany przez użytkownika stan „Ograniczony” może całkowicie uniemożliwić działanie aplikacji w tle na niektórych urządzeniach. Zobacz wskazówki dotyczące optymalizacji tła w systemie Android .
Kontrola jakości: zablokuj telefon i pozostaw go bezczynnym przez 10–20 minut, a następnie wyślij kilka wiadomości z innego konta. Jeśli alerty pojawiają się regularnie i szybko, ścieżka w tle jest w lepszym stanie niż test przeprowadzony bezpośrednio po uruchomieniu aplikacji.
Jak stwierdzić, która część nadal nie działa
Zaobserwowany wynik
Najbardziej prawdopodobny obszar
Następna akcja
Brak powiadomienia nawet gdy Element jest otwarty
Zasady pokoju, ustawienia powiadomień na koncie lub uprawnienia do powiadomień w systemie Android
Najpierw sprawdź ustawienia powiadomień dotyczących pokoju/konta i uprawnienia systemu Android w Element.
Powiadomienia pojawiają się tylko po otwarciu elementu
Połączenie w tle dostawcy lub dystrybutora
Potwierdź, że Element używa UnifiedPush i usuń ograniczenia dotyczące baterii u dystrybutora.
Działa przez kilka minut, a następnie przestaje działać po przestoju
Doze, sterowanie baterią OEM, zasady aplikacji do spania
Ustaw dystrybutora na Nieograniczony i sprawdź kontrolki tła specyficzne dla producenta.
Element pokazuje dystrybutora, ale nie otrzymuje żadnych prawdziwych wiadomości
Serwer dystrybutora, bramka push Matrix lub ograniczenie szybkości punktu końcowego
Przed ponowną instalacją Elementu przetestuj innego dystrybutora/serwer.
Tylko jeden pokój jest cichy
Zasada powiadamiania specyficzna dla pokoju
Sprawdź poziom powiadomień w tym pokoju zamiast zmieniać globalne ustawienia powiadomień push.
Kiedy należy odejść od bieżącej konfiguracji
Konfiguracja może być technicznie poprawna, ale nadal nie pasować. System śledzenia Element dokumentuje przypadki, w których niektóre punkty końcowe UnifiedPush, w tym publiczna infrastruktura ntfy w niektórych scenariuszach Matrix, mogą mieć ograniczenia przepustowości. Oznacza to, że rejestracja może wyglądać poprawnie, a powiadomienia nadal nie docierają. Zobacz problem Element dotyczący ograniczeń przepustowości punktów końcowych UnifiedPush .
Jeśli uprawnienia, wybór dostawcy i ustawienia baterii są poprawne, ale dostarczanie nadal nie jest spójne, spróbuj innego dystrybutora UnifiedPush lub serwera push hostowanego samodzielnie. UnifiedPush dokumentuje zarówno opcje hostowane, jak i hostowane samodzielnie. Często jest to lepszy krok diagnostyczny niż wielokrotne czyszczenie danych Element, ponieważ zmienia część łańcucha dostarczania, która najprawdopodobniej ulegnie awarii.
Hosting własny może zapewnić większą kontrolę, ale wiąże się z większą odpowiedzialnością operacyjną. W przypadku NTFY brama Matrix musi być poprawnie skonfigurowana dla wdrożenia hostowanego samodzielnie. Oficjalny przewodnik UnifiedPush dotyczący NTFY wspomina o tym wymogu. Nie przechodź na hosting własny tylko dlatego, że jedno powiadomienie testowe zostało opóźnione; zmień hosting, gdy awarie się powtarzają i wykluczyłeś już ograniczenia Androida.
A co ze starszą aplikacją Element na Androida?
Poprzednia generacja aplikacji Element na Androida również obsługiwała funkcję non-FCM oraz UnifiedPush. Jej oficjalna dokumentacja opisuje zarówno odpytywanie w tle F-Droid, jak i obsługę UnifiedPush. Jednak Element zaleca teraz Element X nowym użytkownikom, więc obecna ścieżka Element X jest lepszym punktem wyjścia, chyba że masz szczególne wymagania dotyczące kompatybilności. Szczegóły starszej implementacji pozostają przydatne, aby zrozumieć, dlaczego samo odpytywanie jest mniej niezawodne w trybach bezczynności Androida. Zobacz archiwalną/aktualną dokumentację projektu UnifiedPush w Element Android .
Ostateczna lista kontrolna weryfikacji
Włączono zezwolenie na powiadomienia systemu Android dla Element X.
Dystrybutor UnifiedPush został zainstalowany, włączony i podłączony.
Element X jest skonfigurowany do korzystania z tego dystrybutora.
Dystrybutor nie znajduje się w trybie ograniczonej baterii systemu Android.
Wiadomość z innego konta powoduje wyświetlenie powiadomienia, gdy Element działa w tle.
Ten sam test działa, gdy telefon nie jest używany.
Jeśli nadal nie uda się dostarczyć przesyłki, przed zresetowaniem konta Matrix przetestuj innego dystrybutora lub serwer.
Nie ma uniwersalnego ustawienia gwarantującego natychmiastowe dostarczenie każdej kompilacji Androida. Dostawcy urządzeń mogą nakładać dodatkowe ograniczenia w tle, sieci mogą zakłócać stałe połączenia, a punkt końcowy push może być tymczasowo niedostępny lub mieć ograniczoną przepustowość. Najmocniejszym rezultatem jest zatem powtarzalność zachowania w kilku testach w tle i w stanie bezczynności, a nie pojedyncze pomyślne powiadomienie.