FCM über einen Proxy zu senden leitet die Verbindung des Telefons nicht weiter
Trennen Sie die Admin-API-Route von Firebase von der dauerhaften FCM-Netzwerkverbindung des empfangenden Android-Geräts.
Ein Backend kann eine Firebase-Cloud-Messaging-Anfrage erfolgreich über einen Unternehmensproxy senden, während ein Android-Gerät die Benachrichtigung nie erhält. Die Admin-API-Anfrage des Backends und die FCM-Verbindung des Geräts sind getrennte Wege.
Firebases Netzwerkhinweise besagen, dass das Geräteprotokoll von FCM nicht über einen Netzwerkproxy geleitet werden kann. Das Konfigurieren eines HTTP-Clients beim Absender macht diese dauerhafte Geräteverbindung nicht zu einer HTTP-Proxy-Anfrage.
Für Android-Geräte sind die dokumentierten TCP-Zielports 5228, 5229, 5230 und 443. FCM verwendet normalerweise 5228; die anderen Ports sind ebenfalls verfügbar. Wenden Sie die relevante Richtlinie in dem Netzwerk an, mit dem sich die empfangenden Geräte verbinden.
Verwenden Sie Firebases veröffentlichte Hostnamen-Hinweise, wenn eine Firewall Ziele einschränkt; sie rät von festen IP-Allowlists ab, weil sich Adressen ändern können. Geräte benötigen außerdem funktionierendes DNS und einen stabilen Pfad für ihre langlebige Verbindung.
Wenn der Absender beim Tokenabruf oder bei einer Admin-API-Anfrage fehlschlägt, diagnostizieren Sie diesen serverseitigen HTTP-Transport. Für die HTTP-Schnittstellen von Firebase Admin Java konfigurieren Sie den API- und den Anmeldedaten-Transport gemeinsam. Wenn das Senden gelingt, die Zustellung aber fehlschlägt, bewahren Sie dieses Ergebnis auf und untersuchen Sie den Geräteweg, anstatt wiederholt die Proxy-Anmeldedaten des Backends zu ersetzen.