Konfigurowanie sieci pod kątem FCM

W tym dokumencie opisujemy konfiguracje sieciowe wymagane do prawidłowego działania 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ć wiadomości FCM 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 ruchu FCM na urządzeniach z Androidem.

FCM portów i zapory sieciowej.

Zdecydowana większość sieci nie ogranicza możliwości łączenia się urządzeń z resztą internetu. Ogólnie zalecamy takie rozwiązanie. Niektóre organizacje wymagają jednak zapór sieciowych w ramach planu zabezpieczeń obwodowych.

Opcje zapory sieciowej

Opcja Co robimy Konkretne reguły Uwagi
Brak (preferowane) - - -
Filtrowanie na podstawie portu (druga opcja) Ograniczanie ruchu do określonych portów

Porty TCP, które należy otworzyć:

  • 5228
  • 5229
  • 5230
  • 443
Jest to najprostsza reguła, która zapobiega zależności od elementów, które z czasem mogą się zmienić.
Filtrowanie na podstawie nazwy hosta Używanie specjalnej konfiguracji zapory sieciowej, aby dodać do listy dozwolonych określone wpisy TLS SNI, które mają przechodzić przez zaporę sieciową. Można to połączyć z filtrowaniem na podstawie portu.

Nazwy hostów do otwarcia:

  • mtalk.google.com
  • mtalk4.google.com
  • mtalk-staging.google.com
  • mtalk-dev.google.com
  • alt1-mtalk.google.com
  • alt2-mtalk.google.com
  • alt3-mtalk.google.com
  • alt4-mtalk.google.com
  • alt5-mtalk.google.com
  • alt6-mtalk.google.com
  • alt7-mtalk.google.com
  • alt8-mtalk.google.com
  • android.apis.google.com
  • device-provisioning.googleapis.com
  • firebaseinstallations.googleapis.com
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 (niezalecane) 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 wprowadzić tę dużą 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.

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 stanową inspekcją pakietów

Jeśli Twoja sieć implementuje translację adresów sieciowych (NAT) lub inspekcję pakietów ze śledzeniem stanu (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

FCMprotokołu dostarczania wiadomości push na urządzenia nie można przekierowywać przez serwery proxy sieci. Dlatego musisz zadbać o to, aby FCM urządzenia w Twojej sieci mogły łą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 między telefonem a serwerem w przypadku wiadomości push 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 na 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 obejść, dotyczy tylko kanału powiadomień push FCM. Inny ruch FCM, np. ruch rejestracyjny, korzysta z 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 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 łą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.