Backend może z powodzeniem wysłać żądanie Firebase Cloud Messaging przez firmowe proxy, podczas gdy urządzenie Android nigdy nie otrzymuje powiadomienia. Żądanie Admin API backendu i połączenie FCM urządzenia to osobne ścieżki.

Wskazówki sieciowe Firebase mówią, że protokołu urządzenia FCM nie można przekazywać przez proxy sieciowe. Skonfigurowanie klienta HTTP po stronie nadawcy nie zamienia tego trwałego połączenia urządzenia w żądanie proxy HTTP.

W przypadku urządzeń Android udokumentowane docelowe porty TCP to 5228, 5229, 5230 i 443. FCM zwykle używa 5228, a pozostałe porty są również dostępne. Zastosuj odpowiednie zasady w sieci, do której łączą się urządzenia odbierające.

Gdy zapora ogranicza miejsca docelowe, korzystaj z opublikowanych wskazówek Firebase dotyczących nazw hostów; nie zalecają one stałych list dozwolonych adresów IP, ponieważ adresy mogą się zmieniać. Urządzenia potrzebują też działającego DNS i stabilnej ścieżki dla swojego długotrwałego połączenia.

Jeśli nadawca zawiedzie podczas uzyskiwania tokenu lub żądania Admin API, zdiagnozuj ten transport HTTP po stronie serwera. W przypadku interfejsów HTTP Firebase Admin Java skonfiguruj razem transport API i danych uwierzytelniających. Jeśli wysyłanie się powiedzie, ale dostarczanie zawiedzie, zachowaj ten wynik i zbadaj ścieżkę urządzenia, zamiast wielokrotnie wymieniać dane uwierzytelniające proxy backendu.

Powiązane artykuły