В этом документе описаны настройки сети, необходимые для корректной работы 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), установите для наших подключений через порты 5228–5230 время ожидания не менее 30 минут. Это позволяет нам обеспечивать надежное подключение и снижать расход батареи на мобильных устройствах пользователей.
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.