Optymalizacja ruchu w sieci wysyłanego przez programy serwerowe do aplikacji może być trudnym zadaniem. Rozwiązaniem tego problemu jest okresowe odpytywanie aplikacji przez serwer w celu sprawdzenia dostępności aktualizacji. Takie podejście może powodować marnowanie połączenia sieciowego i energię, gdy aplikacja uruchamia radio na urządzeniu, tylko po to, aby otrzymać odpowiedź, że nie ma nowych danych. Znacznie bardziej efektywną metodą jest powiadamianie aplikacji przez serwer o nowych danych, ale ustalenie, jak wysłać powiadomienie z serwera na tysiące urządzeń, nie było wcześniej łatwe.
Komunikacja w chmurze Firebase (FCM) rozwiązuje ten problem z komunikacją, umożliwiając serwerom wysyłanie powiadomień do instancji Twojej aplikacji bez względu na to, gdzie są one zainstalowane. Pozwala to zwiększyć wydajność sieci i zmniejszyć zużycie energii.
Z tej lekcji dowiesz się, jak zastosować usługę FCM, aby ograniczyć wykorzystanie sieci do działań inicjowanych przez serwer i zmniejszyć zużycie baterii.
Wysyłaj aktualizacje serwera za pomocą FCM
Komunikacja w chmurze Firebase (FCM) to prosty mechanizm służący do przesyłania krótkich wiadomości z serwera aplikacji do aplikacji. Dzięki FCM serwer aplikacji używa mechanizmu przekazywania wiadomości, aby powiadamiać aplikację o nowych dostępnych danych. Takie podejście eliminuje ruch sieciowy generowany przez aplikację, ponieważ nie kontaktuje się z serwerem backendu w celu uzyskania nowych danych, gdy dane są niedostępne.
Przykładem użycia FCM jest aplikacja, która wyświetla listę sesji prelegentów podczas konferencji. Po zaktualizowaniu sesji na serwerze serwer wysyła do aplikacji krótką wiadomość z informacją, że aktualizacje są dostępne. Aplikacja może wtedy wywoływać serwer, by zaktualizować sesje na urządzeniu tylko wtedy, gdy serwer ma nowe dane.
FCM jest skuteczniejsze niż ankieta w aplikacji pod kątem zmian na serwerze. Usługa FCM eliminuje niepotrzebne połączenia, w przypadku których odpytywanie nie zwracałoby żadnych aktualizacji, oraz eliminuje okresowe żądania sieciowe, które mogłyby spowodować włączenie sygnału radiowego urządzenia. Ponieważ FCM może być używany przez wiele aplikacji, użycie go w aplikacji zmniejsza łączną liczbę połączeń sieciowych potrzebnych na urządzenie i umożliwia częstsze korzystanie z radia w urządzeniu.