В этом документе описываются конфигурации сети, необходимые для корректной работы FCM в вашей сетевой среде.
Настройте свою сеть для отправки сообщений в FCM
Прежде чем начать, вам необходимо убедиться, что ваша система взаимодействует с серверами FCM для отправки сообщений и управления подписками.
Для отправки сообщений FCM или управления подписками вашей сети потребуется взаимодействовать со следующими серверами по протоколу https:
- fcm.googleapis.com (отправка сообщений)
- accounts.google.com (аутентификация для отправки сообщений)
- iid.googleapis.com (подписка на темы и управление группами устройств)
Этот список может со временем измениться. Мы не можем предоставить список разрешённых IP-адресов для этих конечных точек.
Настройте сеть для устройств Android с помощью FCM
В этом разделе подробно описано, как настроить сеть для поддержки трафика FCM для устройств Android.
Порты FCM и ваш брандмауэр
Подавляющее большинство сетей не ограничивает подключение устройств к остальной части интернета. В целом, это наша рекомендация. Однако некоторым организациям требуются межсетевые экраны в рамках плана безопасности периметра.
Параметры брандмауэра
Вариант | Что мы делаем | Конкретные правила | Примечания |
---|---|---|---|
Нет ( предпочтительно ) | - | - | - |
Фильтрация на основе портов (второй вариант) | Ограничить трафик определенными портами | TCP-порты для открытия:
| Это самое простое правило, которое позволяет избежать зависимости от вещей, которые с большей вероятностью изменятся со временем. |
Фильтрация по имени хоста | Использование специальной конфигурации брандмауэра для разрешения определённым записям TLS SNI прохождения через брандмауэр. Это можно сочетать с фильтрацией по портам. | Имена хостов для открытия:
| Не все брандмауэры поддерживают эту функцию, но многие её поддерживают. Этот список довольно стабилен, но мы не будем уведомлять вас о его изменениях. |
Фильтрация по IP (настоятельно не рекомендуется) | Используйте очень большой статический список IP-адресов. | Добавьте все IP-адреса, перечисленные в файле goog.json , в белый список. Этот список регулярно обновляется, и рекомендуется обновлять правила ежемесячно . Проблемы, вызванные ограничениями IP-адресов брандмауэра, часто возникают периодически и их сложно диагностировать. | Мы меняем наш список IP-адресов очень часто и без предупреждения, поэтому вам придется заходить в этот большой список и часто его обновлять. Кроме того, мы часто видим опечатки, когда люди пытаются ввести списки разрешенных IP-адресов в правила брандмауэра. Мы не рекомендуем этого делать, поскольку информация неизбежно устаревает и не поддерживается. Кроме того, размер списка может оказаться слишком большим для некоторых маршрутизаторов. |
Межсетевые экраны с трансляцией сетевых адресов или проверкой состояния пакетов
Если в вашей сети реализованы трансляция сетевых адресов (NAT) или анализ состояния пакетов (SPI), установите тайм-аут не менее 30 минут для наших подключений через порты 5228–5230. Это позволит нам обеспечить надёжное соединение и снизить расход заряда батареи мобильных устройств ваших пользователей.
FCM и прокси
Протокол FCM для доставки push-уведомлений на устройства не поддерживает проксирование через сетевые прокси-серверы. Поэтому вам необходимо убедиться, что подключение FCM с устройств в вашей сети может быть напрямую подключено к нашим серверам.
VPN-взаимодействие и обходимость
Firebase Cloud Messaging предпринимает различные меры для обеспечения надёжности и максимальной доступности push-сообщений между телефоном и сервером. Использование VPN усложняет этот процесс.
VPN-сети маскируют базовую информацию, необходимую FCM для настройки соединения с целью максимальной надежности и экономии заряда батареи. В некоторых случаях VPN-сети активно разрывают долговременные соединения, что приводит к ухудшению пользовательского опыта из-за пропущенных или задержанных сообщений, а также к высокому расходу заряда батареи. Если VPN настроен таким образом, мы обходим VPN, используя зашифрованное соединение (по базовой сети Wi-Fi или LTE), чтобы обеспечить надежное и экономичное использование батареи. Использование FCM обходимых VPN характерно для канала push-уведомлений FCM . Другой трафик FCM , например, трафик регистрации, использует VPN, если он активен. Когда соединение FCM обходит VPN, оно теряет дополнительные преимущества, которые может предоставлять VPN, такие как маскировка IP-адресов.
У разных VPN-сервисов разные методы контроля возможности обхода. Инструкции см. в документации к вашей VPN-сети.
Если VPN не настроена на обход, Firebase Cloud Messaging будет использовать VPN-сеть для подключения к серверу. Это может привести к задержкам в доставке сообщений и повышенному расходу заряда батареи, поскольку Cloud Messaging пытается поддерживать соединение через VPN.