W tym dokumencie opisujemy konfiguracje sieciowe wymagane do prawidłowego działania usługi FCM w Twoim środowisku sieciowym.
Konfigurowanie sieci do wysyłania wiadomości do FCM
Zanim zaczniesz, upewnij się, że Twój system komunikuje się z serwerami FCM w celu wysyłania wiadomości i zarządzania subskrypcjami.
Aby wysyłać FCM wiadomości lub zarządzać subskrypcjami, Twoja sieć musi komunikować się z tymi serwerami za pomocą protokołu HTTPS:
- fcm.googleapis.com (wysyłanie wiadomości)
- accounts.google.com (uwierzytelnianie wysyłania wiadomości)
- iid.googleapis.com (subskrypcja tematu i zarządzanie grupami urządzeń)
Ta lista może się z czasem zmieniać. Nie możemy udostępnić listy dozwolonych adresów IP dla tych punktów końcowych.
Skonfiguruj sieć na urządzeniach z Androidem za pomocą FCM
W tej sekcji znajdziesz szczegółowe informacje o konfigurowaniu sieci pod kątem obsługi FCM ruchu na urządzeniach z Androidem.
FCM porty i zapora sieciowa
Większość sieci nie ogranicza możliwości łączenia się urządzeń z pozostałą częścią internetu. Ogólnie zalecamy takie podejście. Niektóre organizacje wymagają jednak zapór sieciowych w ramach planu zabezpieczeń granicznych.
Opcje zapory sieciowej
Opcja | Czym się zajmujemy | Konkretne reguły | Uwagi |
---|---|---|---|
Brak (zalecane) | - | - | - |
Filtrowanie na podstawie portu (druga opcja) | Ograniczanie ruchu do określonych portów | Porty TCP do otwarcia:
|
Jest to najprostsza reguła, która zapobiega uzależnieniu od elementów, które z czasem mogą się zmienić. |
Filtrowanie na podstawie nazwy hosta | używanie specjalnej konfiguracji zapory sieciowej, która umożliwia dodanie do listy dozwolonych niektórych wpisów TLS SNI, aby mogły przechodzić przez zaporę sieciową; Można to połączyć z filtrowaniem na podstawie portu. | Nazwy hostów do otwarcia:
|
Nie wszystkie programy zapory sieciowej obsługują tę funkcję, ale wiele z nich tak. Ta lista jest dość stabilna, ale nie będziemy Cię aktywnie powiadamiać o jej zmianach. |
Filtrowanie na podstawie adresów IP (nie jest zalecane) | używać bardzo dużej statycznej listy adresów IP; | Dodaj do listy dozwolonych wszystkie adresy IP wymienione w pliku goog.json. Ta lista jest regularnie aktualizowana, dlatego zalecamy co miesiąc aktualizować reguły. Problemy spowodowane ograniczeniami adresów IP zapory sieciowej często występują sporadycznie i trudno je zdiagnozować. | Listę adresów IP zmieniamy bardzo często i bez ostrzeżenia, dlatego musisz ją wprowadzić i często aktualizować. Ponadto często zdarzają się literówki, gdy użytkownicy próbują wprowadzić listy dozwolonych adresów IP w regułach zapory. Nie zalecamy tego, ponieważ informacje zawsze się dezaktualizują i nie są aktualizowane. Dodatkowo rozmiar listy może być zbyt duży dla niektórych routerów. |
zapory sieciowe z translacją adresów sieciowych lub z kontrolą stanu pakietów;
Jeśli w Twojej sieci jest wdrożona translacja adresów sieciowych (NAT) lub kontrola pakietów ze stanem (SPI), ustaw dla naszych połączeń na portach 5228–5230 limit czasu wynoszący co najmniej 30 minut. Dzięki temu możemy zapewnić niezawodne połączenie, jednocześnie zmniejszając zużycie baterii na urządzeniach mobilnych użytkowników.
FCM i serwery proxy
Protokół FCM do dostarczania wiadomości push na urządzenia nie może być przekazywany przez serwery proxy sieci. Dlatego musisz zadbać o to, aby urządzenia w Twojej sieci mogły FCM łączyć się bezpośrednio z naszymi serwerami.
Interakcje z VPN i możliwość obejścia
Firebase Cloud Messaging podejmuje różne działania, aby połączenie wiadomości push z telefonu na serwer było niezawodne i dostępne tak często, jak to możliwe. Korzystanie z sieci VPN utrudnia to zadanie.
Sieci VPN maskują podstawowe informacje, których FCM potrzebuje do dostosowania połączenia w celu zmaksymalizowania niezawodności i wydłużenia czasu pracy baterii. W niektórych przypadkach sieci VPN aktywnie przerywają długotrwałe połączenia, co pogarsza komfort użytkowników z powodu pominiętych lub opóźnionych wiadomości albo wysokiego zużycia baterii. Gdy sieć VPN jest skonfigurowana tak, aby nam na to zezwalać, omijamy ją za pomocą szyfrowanego połączenia (przez podstawową sieć Wi-Fi lub LTE), aby zapewnić niezawodne działanie i oszczędność baterii. FCMKorzystanie z sieci VPN, które można pominąć, dotyczy tylko kanału powiadomień push.FCM Inny ruch FCM, np. ruch rejestracyjny, korzysta z sieci VPN, jeśli jest ona aktywna. Gdy FCMpołączenie omija sieć VPN, traci dodatkowe korzyści, jakie może ona zapewniać, takie jak maskowanie adresu IP.
Różne sieci VPN mają różne metody kontrolowania, czy można je obejść. Instrukcje znajdziesz w dokumentacji konkretnej sieci VPN.
Jeśli sieć VPN nie jest skonfigurowana tak, aby można było ją pominąć, usługa Firebase Cloud Messaging będzie używać sieci VPN do łączenia się z serwerem. Może to powodować opóźnienia w dostarczaniu wiadomości i większe zużycie baterii, ponieważ Cloud Messaging będzie utrzymywać połączenie przez sieć VPN.