Die Optimierung des Netzwerkverkehrs, der von Serverprogrammen an Ihre Anwendung gesendet wird, kann eine Herausforderung darstellen. Eine Lösung für dieses Problem besteht darin, dass Ihre Anwendung den Server regelmäßig abfragt, um nach Updates zu suchen. Dieser Ansatz kann die Netzwerkverbindung und den Strom verschwenden, wenn Ihre App das Radio eines Geräts startet, nur um die Antwort zu erhalten, dass keine neuen Daten verfügbar sind. Ein wesentlich effizienterer Ansatz wäre, wenn der Server Ihre App benachrichtigt, wenn neue Daten vorliegen. Bisher war es keine leichte Aufgabe, herauszufinden, wie eine Benachrichtigung von Ihrem Server an potenziell Tausende von Geräten gesendet werden kann.
Der Firebase Cloud Messaging-Dienst (FCM) löst dieses Kommunikationsproblem, da Ihre Server Benachrichtigungen an Instanzen Ihrer App senden können, wo immer sie installiert sind. Dies ermöglicht eine höhere Netzwerkeffizienz und verringert den Stromverbrauch.
In dieser Lektion erfahren Sie, wie Sie den FCM-Dienst anwenden, um die Netzwerknutzung für vom Server initiierte Aktionen zu reduzieren und den Akkuverbrauch zu reduzieren.
Serverupdates mit FCM senden
Firebase Cloud Messaging (FCM) ist ein einfacher Mechanismus, mit dem kurze Nachrichten von einem Anwendungsserver an Ihre App übertragen werden können. Bei Verwendung von FCM verwendet Ihr Anwendungsserver einen Mechanismus zur Nachrichtenweitergabe, um Ihre App über neue Daten zu informieren. Dieser Ansatz verhindert Netzwerkverkehr, den Ihre Anwendung durchführen würde, indem kein Back-End-Server für neue Daten kontaktiert wird, wenn keine Daten verfügbar sind.
Ein Beispiel für den Einsatz von FCM ist eine App, in der Vortragssitzungen bei einer Konferenz aufgelistet werden. Wenn Sitzungen auf Ihrem Server aktualisiert werden, sendet der Server eine kurze Nachricht an Ihre Anwendung mit dem Hinweis, dass Aktualisierungen verfügbar sind. Ihre App kann dann den Server nur dann aufrufen, um die Sitzungen auf dem Gerät zu aktualisieren, wenn auf dem Server neue Daten vorliegen.
FCM ist effizienter als die Abfrage von Änderungen durch Ihre App auf dem Server. Der FCM-Dienst beseitigt unnötige Verbindungen, bei denen Polling keine Aktualisierungen zurückgeben würde, und vermeidet die Ausführung regelmäßiger Netzwerkanfragen, die dazu führen könnten, dass die Funkschnittstelle eines Geräts eingeschaltet wird. Da FCM von vielen Apps verwendet werden kann, reduziert die Verwendung von FCM in Ihrer App die Gesamtzahl der auf einem Gerät erforderlichen Netzwerkverbindungen und sorgt dafür, dass die Gerätefunkschnittstelle häufiger in den Ruhemodus wechselt.