Ottimizza l'utilizzo della rete avviata dal server
Mantieni tutto organizzato con le raccolte
Salva e classifica i contenuti in base alle tue preferenze.
Il traffico di rete inviato dai programmi server alla tua app può essere difficile da ottimizzare. Una soluzione a questo problema consiste nell'eseguire periodicamente il polling del server dell'app per verificare la presenza di aggiornamenti. Questo approccio può sprecare la connessione di rete
e alimentare quando la tua app avvia la radio di un dispositivo, per poi ricevere la risposta che
non sono disponibili nuovi dati. Un approccio molto più efficiente sarebbe per il server avvisare l'app quando ha nuovi dati, ma in precedenza capire come inviare una notifica dal tuo server a migliaia di dispositivi potenzialmente non era un'impresa facile.
Il servizio Firebase Cloud Messaging (FCM) risolve questo problema di comunicazione consentendo ai server di inviare notifiche alle istanze della tua app ovunque siano installate, consentendo una maggiore efficienza di rete e riducendo l'utilizzo.
Questa lezione insegna come applicare il servizio FCM per ridurre l'utilizzo della rete per le azioni avviate dal server e ridurre il consumo della batteria.
Invia aggiornamenti del server con FCM
Firebase Cloud Messaging (FCM) è un meccanismo leggero utilizzato per trasmettere brevi messaggi da un server di app alla tua app. Grazie a FCM, il server delle app utilizza un meccanismo di trasmissione dei messaggi per notificare all'app la disponibilità di nuovi dati.
Questo approccio elimina il traffico di rete che sarebbe eseguito dalla tua app, evitando di contattare un server di backend per i nuovi dati quando non sono disponibili dati.
Un esempio di utilizzo di FCM è un'app che elenca le sessioni dei relatori a una conferenza.
Quando le sessioni vengono aggiornate sul server, quest'ultimo invia un breve messaggio all'app per informarlo della disponibilità di aggiornamenti. L'app può quindi chiamare il server per
aggiornare le sessioni sul dispositivo solo quando il server ha nuovi dati.
FCM è più efficiente rispetto alla ricerca delle modifiche sul server da parte della tua app. Il servizio FCM elimina le connessioni non necessarie in cui il polling non restituisce aggiornamenti ed evita l'esecuzione di richieste di rete periodiche che potrebbero causare l'accensione della radio di un dispositivo. Poiché FCM può essere utilizzato da molte app, l'utilizzo nell'app consente di ridurre il numero totale di connessioni di rete necessarie su un dispositivo e di attivare una sospensione più frequente della radio del dispositivo.
I campioni di contenuti e codice in questa pagina sono soggetti alle licenze descritte nella Licenza per i contenuti. Java e OpenJDK sono marchi o marchi registrati di Oracle e/o delle sue società consociate.
Ultimo aggiornamento 2025-07-27 UTC.
[[["Facile da capire","easyToUnderstand","thumb-up"],["Il problema è stato risolto","solvedMyProblem","thumb-up"],["Altra","otherUp","thumb-up"]],[["Mancano le informazioni di cui ho bisogno","missingTheInformationINeed","thumb-down"],["Troppo complicato/troppi passaggi","tooComplicatedTooManySteps","thumb-down"],["Obsoleti","outOfDate","thumb-down"],["Problema di traduzione","translationIssue","thumb-down"],["Problema relativo a esempi/codice","samplesCodeIssue","thumb-down"],["Altra","otherDown","thumb-down"]],["Ultimo aggiornamento 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."]]