Optimiser l'utilisation du réseau déclenchée par le serveur
Restez organisé à l'aide des collections
Enregistrez et classez les contenus selon vos préférences.
Il peut s'avérer difficile d'optimiser le trafic réseau envoyé par les programmes serveur vers votre application. Une solution à ce problème consiste à interroger régulièrement le serveur pour rechercher les mises à jour. Cette approche peut gaspiller la connexion réseau et l'alimentation lorsque votre application démarre le signal radio d'un appareil seulement pour recevoir une réponse indiquant qu'aucune nouvelle donnée n'est disponible. Il serait beaucoup plus efficace pour le serveur d'informer votre application lorsqu'il dispose de nouvelles données, mais jusqu'à maintenant, déterminer comment envoyer une notification depuis le serveur à des milliers d'appareils n'a pas été une mince affaire.
Le service Firebase Cloud Messaging (FCM) résout ce problème de communication en permettant à vos serveurs d'envoyer des notifications aux instances de votre application où qu'elles soient installées. Cela permet d'améliorer l'efficacité du réseau et de réduire la consommation d'énergie.
Dans cette leçon, vous allez apprendre à appliquer le service FCM afin de réduire l'utilisation du réseau pour les actions déclenchées par le serveur, et l'utilisation de la batterie.
Envoyer des mises à jour de serveur avec FCM
Firebase Cloud Messaging (FCM) est un mécanisme simple utilisé pour transmettre de courts messages depuis un serveur d'applications vers votre application. Avec FCM, le serveur d'applications utilise un mécanisme de transmission de messages pour informer votre application que de nouvelles données sont disponibles.
Cette approche élimine le trafic réseau que votre application pourrait générer, en évitant de contacter un serveur backend pour obtenir de nouvelles données alors qu'aucune donnée n'est disponible.
À titre d'exemple, l'application FCM peut être utilisée pour lister les sessions animées par des intervenants à l'occasion d'une conférence.
Lorsque des sessions sont mises à jour sur votre serveur, il envoie un bref message à votre application indiquant que des mises à jour sont disponibles. Votre application peut ensuite appeler le serveur pour mettre à jour les sessions sur l'appareil uniquement lorsque le serveur dispose de nouvelles données.
Il est plus efficace d'utiliser FCM que de demander à votre application de rechercher des modifications sur le serveur. Le service FCM élimine les connexions inutiles induites par des recherches ne renvoyant aucune mise à jour, et cela évite d'exécuter régulièrement des requêtes réseau susceptibles d'entraîner l'activation du signal radio d'un appareil. Comme FCM peut être utilisé par de nombreuses applications, son utilisation dans votre application réduit le nombre total de connexions réseau nécessaires sur un appareil et permet au signal radio de l'appareil de se mettre en veille plus souvent.
Le contenu et les exemples de code de cette page sont soumis aux licences décrites dans la Licence de contenu. Java et OpenJDK sont des marques ou des marques déposées d'Oracle et/ou de ses sociétés affiliées.
Dernière mise à jour le 2025/07/27 (UTC).
[[["Facile à comprendre","easyToUnderstand","thumb-up"],["J'ai pu résoudre mon problème","solvedMyProblem","thumb-up"],["Autre","otherUp","thumb-up"]],[["Il n'y a pas l'information dont j'ai besoin","missingTheInformationINeed","thumb-down"],["Trop compliqué/Trop d'étapes","tooComplicatedTooManySteps","thumb-down"],["Obsolète","outOfDate","thumb-down"],["Problème de traduction","translationIssue","thumb-down"],["Mauvais exemple/Erreur de code","samplesCodeIssue","thumb-down"],["Autre","otherDown","thumb-down"]],["Dernière mise à jour le 2025/07/27 (UTC)."],[],[],null,["# Optimize server-initiated network use\n\nNetwork traffic sent by server programs to your app can be challenging to\noptimize. A solution to this problem is for your app to periodically poll the\nserver to check for updates. This approach can waste network connection and\npower when your app starts up a device's radio, only to receive an answer that\nno new data is available. A far more efficient approach would be for the server\nto notify your app when it has new data, but figuring out how to send a\nnotification from your server to potentially thousands of devices was previously\nno easy feat.\n\nThe Firebase Cloud Messaging (FCM) service solves this communication problem by\nallowing your servers to send notifications to instances of your app wherever\nthey are installed, enabling greater network efficiency and lowering power\nusage.\n\nThis lesson teaches you how to apply the FCM service to reduce network use for\nserver-initiated actions and reduce battery consumption.\n\nSend server updates with FCM\n----------------------------\n\nFirebase Cloud Messaging (FCM) is a lightweight mechanism used to transmit brief\nmessages from an app server to your app. Using FCM, your app server uses a\nmessage-passing mechanism to notify your app that there is new data available.\nThis approach eliminates network traffic that your app would perform, by not\ncontacting a backend server for new data when no data is available.\n\nAn example use of FCM is an app that lists speaker sessions at a conference.\nWhen sessions are updated on your server, the server sends a brief message to\nyour app telling it updates are available. Your app can then call the server to\nupdate the sessions on the device only when the server has new data.\n\nFCM is more efficient than having your app poll for changes on the server. The\nFCM service eliminates unnecessary connections where polling would return no\nupdates, and it avoids running periodic network requests that could cause a\ndevice's radio to power up. Since FCM can be used by many apps, using it in your\napp reduces the total number of network connections needed on a device and\nallows the device radio to sleep more often.\n| **Note:** When using FCM, your app can pass messages in normal or high priority. Your server should typically use normal priority to deliver messages. Using this priority level prevents devices from being woken up if they are inactive and in a low-power Doze state. Use high priority messages only if absolutely required."]]