Бэкенд может успешно отправить запрос 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-транспорт. Для HTTP-интерфейсов Firebase Admin Java настройте транспорт API и транспорт учётных данных вместе. Если отправка успешна, а доставка нет, сохраните этот результат и исследуйте путь устройства, вместо того чтобы снова и снова менять прокси-учётные данные бэкенда.

Похожие статьи