31 votes

Comment certains applications affichent-elles de nouvelles notifications lorsque l'accès à Internet leur est restreint?

J'ai désactivé l'accès à Internet de WhatsApp en désactivant à la fois l'utilisation du WLAN et l'utilisation du réseau mobile.

Je pensais que cela devrait bloquer WhatsApp d'accéder à Internet. Mais miraculeusement, WhatsApp me donne un message au contenu menaçant : "Vous pourriez avoir de nouveaux messages"

Quand j'ouvre WA, il n'affiche aucun message. Quand je lui redonne ses droits d'accès, je me demande, il y a des messages que j'ai reçus le même jour !

Donc pour moi, il semble que cette application ait trouvé un moyen de contourner mes restrictions réseau.

Les questions suivantes se posent :

  • Mon hypothèse sur l'efficacité de restreindre l'utilisation des données pour les applications est-elle fausse ?
  • Est-ce que WhatsApp contourne les restrictions standard ?

2 votes

40voto

Irfan Latif Points 16863

Les développeurs d'applications peuvent mieux le dire, mais ce que je perçois, c'est que de nombreuses applications modernes utilisent Firebase Cloud Messaging - un service propriétaire de Google, qui ne fait pas partie de l'AOSP - pour les notifications push. En effet, les développeurs sont obligés d'utiliser les produits propriétaires de Google de manière imperceptible. Cité ici:

La restriction Doze sur l'accès au réseau est susceptible d'affecter votre application, notamment si l'application dépend de messages en temps réel tels que des alertes ou des notifications. Si votre application nécessite une connexion persistante au réseau pour recevoir des messages, vous devriez utiliser Firebase Cloud Messaging (FCM) si possible.
...
FCM est optimisé pour fonctionner avec Doze et les modes veille d'application en utilisant des messages FCM à haute priorité.

FCM fait partie des Services Google Play (1):

La seule dépendance forte du SDK FCM est Google Play Services

Play Services est un ensemble d'applications injectées dans les appareils Android avec des autorisations très privilégiées, elles ne sont donc pas soumises à des restrictions de données/batterie.

Comme vous avez bloqué uniquement l'application et non Play Services, l'application peut recevoir des notifications push (bien que les données réelles ne soient peut-être pas livrées à l'application).

Bloquez donc les GMS pour bloquer les notifications push. Ou choisissez les applications qui ne sont pas friandes de Google.

EN RELATION: Quelle est l'exacte fonctionnalité des Services Google Play et du Framework de Services?

4 votes

2 votes

@LucasRamage ouais, prendre le contrôle progressivement.

21voto

pr0nin Points 353

Comme vous avez refusé l'accès direct au réseau, WhatsApp ne peut pas accéder à Internet pour envoyer/recevoir des données directement. Cependant, les notifications push sur Android ne sont généralement pas reçues par les applications. Au lieu de cela, toutes les notifications push configurées sont reçues via les services Google Play. Le Service Google Play est une application différente sur votre appareil qui a toujours accès à Internet.

Ces messages push ne contiennent généralement pas le message réel et sont simplement utilisés comme notification qu'il y a de nouvelles données disponibles. Chaque fois qu'un tel message de notification push arrive, WhatsApp sait qu'il y a de nouveaux messages et essaie de contacter le serveur WhatsApp pour les récupérer.

Dans votre cas, la connexion au serveur WhatsApp échoue et WhatsApp vous affiche seulement le message "Vous pourriez avoir de nouveaux messages".

5voto

Reddy Lutonadio Points 6225

Non, WhatsApp ne contourne pas les restrictions du réseau.

L'application, après un certain temps sans pouvoir se connecter à son serveur parce que vous avez désactivé la connexion internet, essaie juste de deviner. C'est pourquoi vous recevez le message : "Vous pouvez avoir de nouveaux messages" de son canal de notifications d'échec.

De Comment arrêter la notification 'Vous pouvez avoir de nouveaux messages' de WhatsApp:

Par conséquent, bien que WhatsApp fonctionne et que les données mobiles soient activées, il peut ne pas avoir accès à internet. Sa seule solution est donc d'afficher cette notification en supposant, car je soupçonne qu'il ne peut pas faire la différence entre une mauvaise connexion réseau et le fait que ses droits réseau sont gérés de manière trop précise par le système d'exploitation.

4 votes

WhatsApp utilise des notifications push de FCM pour avertir l'application lorsqu'il y a de nouveaux messages. FCM fait partie des services Google Play et fonctionne donc même si l'application n'a pas accès au réseau. Normalement, le serveur WhatsApp envoie un ping à l'application WhatsApp via FCM, l'application se réveille et vérifie s'il y a de nouveaux messages, les déchiffre et affiche une notification. Mais dans ce cas, elle est incapable de vérifier s'il y a de nouveaux messages, elle réagit simplement au ping en disant "vous pourriez avoir de nouveaux messages".

androidalle.com

AndroidAlle est une communauté de androiders où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X