프록시를 통한 FCM 전송은 휴대폰의 연결을 라우팅하지 않습니다
Firebase의 Admin API 경로와 수신 Android 기기의 상시 FCM 네트워크 연결을 분리하세요.
백엔드가 기업 프록시를 통해 Firebase Cloud Messaging 요청을 성공적으로 보내더라도 Android 기기가 알림을 받지 못할 수 있습니다. 백엔드의 Admin API 요청과 기기의 FCM 연결은 서로 다른 경로입니다.
Firebase의 네트워크 지침에 따르면 FCM의 기기 프로토콜은 네트워크 프록시를 통해 프록시할 수 없습니다. 발신 측에서 HTTP 클라이언트를 구성한다고 해서 그 상시 기기 연결이 HTTP 프록시 요청으로 바뀌지는 않습니다.
Android 기기의 경우 문서화된 TCP 대상 포트는 5228, 5229, 5230, 443입니다. FCM은 보통 5228을 사용하며 다른 포트도 사용할 수 있습니다. 수신 기기가 연결되는 네트워크에 해당 정책을 적용하세요.
방화벽이 대상을 제한할 때는 Firebase가 공개한 호스트 이름 지침을 사용하세요. 주소가 바뀔 수 있으므로 고정 IP 허용 목록은 권장하지 않습니다. 기기에는 정상 동작하는 DNS와 장기 연결을 위한 안정적인 경로도 필요합니다.
토큰 획득이나 Admin API 요청 중 발신 측이 실패하면 해당 서버 측 HTTP 전송을 진단하세요. Firebase Admin Java의 HTTP 인터페이스는 API와 자격 증명 전송을 함께 구성하세요. 전송은 성공하지만 전달이 실패하면 그 결과를 보존하고 백엔드의 프록시 자격 증명을 반복해서 바꾸는 대신 기기 경로를 조사하세요.