Как определенные приложения отображают новые уведомления, когда доступ в Интернет для них ограничен?

26

Я отключил доступ WhatsApp к Интернету, отключив как использование WLAN, так и использование мобильной сети.

Я думал, что это должно заблокировать WhatsApp доступ к Интернету. Но чудесным образом WhatsApp дает мне сообщение со зловещим содержанием: «Возможно, у вас есть новые сообщения»

Когда я открываю WA, он не показывает никаких сообщений. Когда я возвращаю его обратно, это права доступа. Интересно, какие сообщения я получил в тот же день!

Так что для меня это выглядит так, как будто это приложение нашло способ обойти ограничения моей сети.

Поэтому возникают следующие вопросы:

  • Мое предположение об эффективности ограничения «использования данных» для приложений неверно?
  • WhatsApp взламывает стандартные ограничения?
Ariser
источник
Из любопытства, почему вы блокируете доступ в интернет в WhatsApp?
Nzall
1
@Nzall Я хочу прекратить использовать WA (разные причины) и общаться с использованием различных систем обмена сообщениями. Чтобы поощрить моих контактов использовать Threema, Signal или Ginlo, я не хочу отвечать на их сообщения некоторое время, но отправляю некоторые сообщения автоответчика. Если WA остается в сети на моем телефоне, большинство людей скажут: «Видите, вы все еще используете WA, так почему я должен перейти на другую систему?» Звучит сложно, сложно, но работает. 9 из 10 моих контактов теперь отправляют мне сообщения другими способами.
Ariser
1
Я вижу, и вы не можете удалить WhatsApp или установить себя в автономном режиме? Существует приложение под названием W-Tools, которое должно позволить вам сделать это.
Nzall
2
Вы явно не спрашивали, как помешать WhatsApp сделать это. Итак, вот как комментарий: если вы переключитесь на microG вместо Google Play Services, то вы можете отключить доступ приложения к Google Cloud Messaging из его настроек.
Никто

Ответы:

36

Разработчики приложений могут сказать лучше, но я считаю, что многие современные приложения используют Firebase Cloud Messaging - проприетарную службу от Google, а не часть AOSP - для push-уведомлений. На самом деле разработчики вынуждены использовать запатентованные продукты Google незаметно. Цитируется здесь :

Ограничение Doze на доступ к сети также может повлиять на ваше приложение, особенно если оно использует сообщения в реальном времени, такие как щекотки или уведомления. Если вашему приложению требуется постоянное подключение к сети для получения сообщений, вы должны использовать Firebase Cloud Messaging (FCM), если это возможно.
...
FCM оптимизирован для работы в режимах ожидания Doze и App Standby с помощью высокоприоритетных сообщений FCM .

FCM является частью Сервисов Google Play ( 1 ) :

Единственная жесткая зависимость FCM SDK - Google Play Services

Play Services - это набор приложений, которые внедряются в устройства Android с привилегированными разрешениями, поэтому на них не распространяются ограничения в отношении данных и заряда батареи.

Поскольку вы заблокировали только приложение, а не Play Services, приложение может получать push-уведомления (хотя фактические данные могут не доставляться в приложение).

Поэтому заблокируйте GMS, чтобы заблокировать push-уведомления. Или выберите приложения, которые не нравятся Google.

СВЯЗАННЫЕ: Какова точная функциональность Google Play Services & Services Framework?

Ирфан Латиф
источник
4
Смотрите также: github.com/Telegram-FOSS-Team/Telegram-FOSS/blob/master/…
Лукас Рэймидж
2
@ LucasRamage да, постепенно взять под свой контроль.
Ирфан Латиф
20

WhatsApp не может получить доступ к Интернету в данный момент. Однако он по-прежнему получает настроенные push-уведомления через сервисы Google Play. Служба Google Play - это другое приложение на вашем устройстве, которое все еще имеет доступ к Интернету.

Эти push-сообщения не содержат фактическое сообщение, и WhatsApp просто использует их в качестве уведомителя. Всякий раз, когда приходит такое push-уведомление, WhatsApp знает, что есть новые сообщения, и пытается связаться с сервером WhatsApp, чтобы получить его.

В вашем случае происходит сбой подключения к серверу WhatsApp, и WhatsApp отображает только сообщение «Возможно, у вас есть новые сообщения».

Роберт
источник
5

Нет, WhatsApp не взламывает ограничения сети.

Приложение, после того, как определенное количество не может подключиться к своему серверу, потому что вы отключили подключение к Интернету, просто догадывается. Вот почему вы получаете сообщение «У вас могут быть новые сообщения» из канала уведомлений о сбоях.

Из Как остановить WhatsApp «У вас могут быть новые сообщения» уведомление :

Таким образом, хотя WhatsApp работает и мобильные данные включены, он может не иметь доступа к Интернету. Поэтому единственное решение состоит в том, чтобы выдать это уведомление как предположение, поскольку я подозреваю, что оно не может определить разницу, когда виновата плохая сеть и когда ее сетевые права микроуправляются ОС.

Редди Лутонадио
источник
4
WhatsApp использует push-уведомления FCM для уведомления приложения о появлении новых сообщений. FCM является частью Сервисов Google Play и работает, даже если само приложение не имеет доступа к сети. Обычно сервер WhatsApp отправляет эхо-запрос приложению WhatsApp через FCM, приложение просыпается, проверяет наличие новых сообщений, расшифровывает их и показывает уведомление. Но в этом случае он не может проверить наличие новых сообщений, поэтому он просто реагирует на пинг, говоря: «у вас могут быть новые сообщения».
vurp0