Jak niektóre aplikacje wyświetlają nowe powiadomienia, gdy dostęp do nich jest ograniczony?

26

Wyłączyłem dostęp WhatsApp do Internetu, wyłączając zarówno korzystanie z sieci WLAN, jak i sieci komórkowej.

Pomyślałem, że to powinno zablokować WhatsAppowi dostęp do Internetu. Ale w cudowny sposób WhatsApp daje mi wiadomość ze złowieszczą treścią: „Możesz mieć nowe wiadomości”

Po otwarciu WA nie wyświetla żadnych komunikatów. Kiedy go oddaję, zastanawiam się, jakie prawa dostępu, są wiadomości, które otrzymałem tego samego dnia!

Więc dla mnie wygląda to tak, jakby ta aplikacja znalazła sposób, aby wymknąć się z ograniczeń sieciowych.

Powstają więc następujące pytania:

  • Czy moje założenie dotyczące skuteczności ograniczenia „wykorzystania danych” w aplikacjach jest błędne?
  • Czy WhatsApp hakuje standardowe ograniczenia?
Ariser
źródło
Z ciekawości, dlaczego blokujesz dostęp do Internetu WhatsApp?
Nzall
1
@Nzall Chcę przestać używać WA (różne przyczyny) i komunikować się za pomocą różnych systemów komunikacyjnych. Aby zachęcić moje kontakty do korzystania z Threema, Signal lub Ginlo, nie chcę przez chwilę odpowiadać na ich wiadomości, ale wysłałem kilka wiadomości z autoresponderem. Jeśli WA pozostanie online na moim telefonie, większość ludzi powie: „widzisz, nadal używasz WA, więc dlaczego miałbym przejść na inny system?” Brzmi trudnie, jest trudny, ale działa. 9 na 10 moich kontaktów wysyła mi teraz wiadomości w inny sposób.
Ariser
1
Rozumiem, a nie możesz odinstalować Whatsappa ani ustawić się jako offline? Istnieje aplikacja o nazwie W-Tools, która powinna ci na to pozwolić.
Nzall
2
Nie zapytałeś wyraźnie, jak uniemożliwić WhatsApp. Więc tutaj jako komentarz: jeśli przełączysz się na microG zamiast usług Google Play, możesz wyłączyć dostęp aplikacji do Google Cloud Messaging w jej ustawieniach.
Nikt
2
To pytanie dotyczące zapór ogniowych jest powiązane: Odbieranie powiadomień aplikacji od aplikacji zablokowanych przez zaporę sieciową
mattm

Odpowiedzi:

36

Twórcy aplikacji mogą powiedzieć lepiej, ale widzę, że wiele nowoczesnych aplikacji korzysta z Firebase Cloud Messaging - zastrzeżonej usługi Google, nie należącej do AOSP - do powiadomień push. W rzeczywistości programiści są zmuszeni do używania zastrzeżonych produktów Google niezauważalnie. Cytowany stąd :

Ograniczenie drzemki w dostępie do sieci może również wpłynąć na twoją aplikację, szczególnie jeśli aplikacja opiera się na wiadomościach w czasie rzeczywistym, takich jak łaskotki lub powiadomienia. Jeśli aplikacja wymaga stałego połączenia z siecią w celu odbierania wiadomości, w miarę możliwości należy użyć Firebase Cloud Messaging (FCM) .
...
FCM jest zoptymalizowany do pracy z trybami bezczynności Doze i App Standby za pomocą komunikatów FCM o wysokim priorytecie .

FCM jest częścią usług Google Play ( 1 ) :

Jedyną twardą zależnością FCM SDK są Usługi Google Play

Usługi Play to zestaw aplikacji, które są wstrzykiwane na urządzenia z Androidem z bardzo uprzywilejowanymi uprawnieniami, więc nie podlegają ograniczeniom dotyczącym danych / baterii.

Ponieważ zablokowano tylko aplikację, a nie Usługi Play, aplikacja może otrzymywać powiadomienia wypychane (chociaż rzeczywiste dane mogą nie być dostarczane do aplikacji).

Więc zablokuj GMS, aby zablokować powiadomienia push. Lub wybierz aplikacje, które nie lubią Google.

POWIĄZANE: Jaka jest dokładna funkcjonalność Google Play Services & Services Framework?

Irfan Latif
źródło
2
@LucasRamage tak, stopniowo przejmując kontrolę.
Irfan Latif
20

WhatsApp nie ma wtedy dostępu do Internetu. Nadal jednak odbiera skonfigurowane powiadomienia wypychane za pośrednictwem usług Google Play. Usługa Google Play to inna aplikacja na urządzeniu, która nadal ma dostęp do Internetu.

Te wiadomości push nie zawierają rzeczywistej wiadomości, a WhatsApp używa ich tylko jako powiadomienia. Za każdym razem, gdy pojawia się takie powiadomienie push, WhatsApp wie, że są nowe wiadomości i próbuje skontaktować się z serwerem WhatsApp, aby je odzyskać.

W twoim przypadku połączenie z serwerem WhatsApp nie powiedzie się, a WhatsApp wyświetli tylko komunikat „Być może masz nowe wiadomości”.

Robert
źródło
5

Nie, WhatsApp nie hakuje ograniczeń sieci.

Aplikacja, po pewnym czasie niemożności połączenia się z serwerem, ponieważ wyłączyłeś połączenie internetowe, po prostu zgaduje. Dlatego pojawia się komunikat: „Być może masz nowe wiadomości” z jego kanału powiadomień o awariach.

Od Jak zatrzymać powiadomienie WhatsApp „Możesz mieć nowe wiadomości” :

W związku z tym, mimo że WhatsApp jest uruchomiony, a mobilna transmisja danych jest włączona, dostęp do Internetu może być niemożliwy. Dlatego jedynym wyjściem jest rzucenie tego powiadomienia jako przypuszczenie, ponieważ podejrzewam, że nie jest w stanie odróżnić, kiedy winna jest słaba sieć i kiedy jej prawa sieciowe są zarządzane przez system operacyjny.

Reddy Lutonadio
źródło
4
WhatsApp używa powiadomień push FCM do powiadamiania aplikacji o nowych wiadomościach. FCM jest częścią usług Google Play, więc działa, nawet jeśli sama aplikacja nie ma dostępu do sieci. Zwykle serwer WhatsApp wysyła ping do aplikacji WhatsApp za pośrednictwem FCM, aplikacja budzi się i sprawdza nowe wiadomości, odszyfrowuje je i wyświetla powiadomienie. Ale w tym przypadku nie jest w stanie sprawdzić nowych wiadomości, więc po prostu reaguje na polecenie ping, mówiąc „możesz mieć nowe wiadomości”.
vurp0