W tym dokumencie opisano konfiguracje sieci wymagane do prawidłowego działania FCM w Twoim środowisku sieciowym.
Skonfiguruj sieć, aby wysyłać 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ć wiadomości FCM lub zarządzać subskrypcjami, Twoja sieć musi komunikować się z tymi serwerami przez HTTPS:
- fcm.googleapis.com (wysyłanie wiadomości)
- accounts.google.com (uwierzytelnianie na potrzeby wysyłania wiadomości)
- iid.googleapis.com (subskrypcja tematów 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 opisujemy, jak skonfigurować sieć, aby obsługiwała ruch FCM na urządzeniach z Androidem.
Porty FCM i zapora sieciowa
Zdecydowana większość sieci nie ogranicza urządzeniom możliwości łączenia się z resztą internetu. Ogólnie zalecamy takie rozwiązanie. Jednak niektóre organizacje wymagają zapór sieciowych w ramach planu zabezpieczeń obwodowych.
Opcje zapory sieciowej
| Opcja | Co robimy | Konkretne reguły | Uwagi |
|---|---|---|---|
| Brak (preferowane) | - | - | - |
| Filtrowanie na podstawie portu (drugi wybór) | Ograniczanie ruchu do określonych portów | Porty TCP, które powinny być otwarte:
|
To najprostsza reguła, która zapobiega zależności od elementów, które mogą się zmieniać w czasie. |
| Filtrowanie na podstawie nazwy hosta | Użycie specjalnej konfiguracji zapory sieciowej, aby zezwolić na przechodzenie przez nią określonych wpisów TLS SNI z listy dozwolonych. Można to połączyć z filtrowaniem na podstawie portów. | Nazwy hostów do otwarcia:
|
Nie wszystkie zapory sieciowe obsługują tę funkcję, ale wiele z nich tak. Ta lista jest dość stabilna, ale nie będziemy aktywnie powiadamiać Cię o zmianach. |
| Filtrowanie na podstawie adresów IP (zdecydowanie odradzane) | Użyj 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 i zalecamy comiesięczne aktualizowanie reguł. Problemy spowodowane ograniczeniami adresów IP zapory sieciowej często występują sporadycznie i są trudne do zdiagnozowania. | Bardzo często i bez ostrzeżenia zmieniamy naszą listę adresów IP, więc musisz wprowadzić tę długą listę i często ją aktualizować. Ponadto często widzimy literówki, gdy użytkownicy próbują wprowadzić listy dozwolonych adresów IP w regułach zapory sieciowej. Nie zalecamy tego, ponieważ informacje te zawsze stają się nieaktualne i nie są utrzymywane. Ponadto rozmiar listy może być zbyt duży dla niektórych routerów. |
translacja adresów sieciowych lub zapory sieciowe z kontrolą stanu pakietów,
Jeśli Twoja sieć korzysta z translacji adresów sieciowych (NAT) lub kontroli stanu pakietów (SPI), ustaw limit czasu dla połączeń przez porty 5228–5230 na 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 upewnić się, że połączenie FCM z urządzeń w Twojej sieci może łączyć się bezpośrednio z naszymi serwerami.
Interakcje z siecią VPN i możliwość jej obejścia
Firebase Cloud Messaging podejmuje różne działania, aby zapewnić niezawodne i jak najczęstsze połączenie między telefonem a serwerem na potrzeby wiadomości push. Korzystanie z sieci VPN utrudnia to zadanie.
Sieci VPN maskują podstawowe informacje, których FCM potrzebuje do dostrojenia połączenia w celu zmaksymalizowania niezawodności i żywotności baterii. W niektórych przypadkach sieci VPN aktywnie przerywają długotrwałe połączenia, co powoduje, że użytkownicy nie otrzymują wiadomości lub otrzymują je z opóźnieniem, a bateria szybko się rozładowuje. Jeśli sieć VPN jest skonfigurowana tak, aby nam na to zezwalać, omijamy ją, korzystając z szyfrowanego połączenia (przez podstawową sieć Wi-Fi lub LTE), aby zapewnić niezawodne działanie i oszczędzać baterię. Korzystanie przez aplikację FCM z sieci VPN, które można pominąć, dotyczy kanału powiadomień push FCM. Inny ruch FCM, np. ruch związany z rejestracją, korzysta z sieci VPN, jeśli jest ona aktywna. Gdy połączenie FCM omija sieć VPN, traci dodatkowe korzyści, które może zapewniać sieć VPN, takie jak maskowanie adresu IP.
Różne sieci VPN mają różne metody kontrolowania, czy można je ominąć. Instrukcje znajdziesz w dokumentacji konkretnej sieci VPN.
Jeśli sieć VPN nie jest skonfigurowana tak, aby można było ją pominąć, Firebase Cloud Messaging będzie używać sieci VPN do połączenia z serwerem. Może to powodować opóźnienia w dostarczaniu wiadomości i większe zużycie baterii, gdy Cloud Messaging próbuje utrzymać połączenie przez sieć VPN.