En este documento, se describen los parámetros de configuración de red necesarios para que FCM funcione correctamente en tu entorno de red.
Configura tu red para enviar mensajes a FCM
Antes de comenzar, debes asegurarte de que tu sistema se comunique con los servidores de FCM para enviar mensajes y administrar suscripciones.
Para enviar mensajes FCM o administrar suscripciones, tu red deberá comunicarse con los siguientes servidores a través de HTTPS:
- fcm.googleapis.com (envío de mensajes)
- accounts.google.com (autenticación para el envío de mensajes)
- iid.googleapis.com (administración de suscripciones a temas y grupos de dispositivos)
Esta lista está sujeta a cambios con el tiempo. No podemos proporcionar una lista de direcciones IP permitidas para estos extremos.
Configura tu red para dispositivos Android con FCM
En esta sección, se detalla cómo configurar tu red para que admita el tráfico de FCM para dispositivos Android.
Los puertos de FCM y el firewall
La gran mayoría de las redes no limitan la conexión de los dispositivos al resto de Internet. En general, esta es nuestra recomendación. Sin embargo, algunas organizaciones requieren firewalls como parte de su plan de seguridad perimetral.
Opciones de firewall
Opción | Qué hacemos | Reglas específicas | Notas |
---|---|---|---|
Ninguno (preferido) | - | - | - |
Filtrado basado en puertos (segunda opción) | Limita el tráfico a puertos específicos | Puertos TCP que se deben abrir:
|
Esta es la regla más simple y evita la dependencia de elementos que es más probable que cambien con el tiempo. |
Filtrado basado en el nombre de host | Usar una configuración especial del firewall para incluir en la lista de entidades permitidas ciertas entradas de SNI de TLS para que pasen por el firewall Esto se puede combinar con el filtrado basado en puertos. | Nombres de host que se deben permitir:
|
No todos los softwares de firewall admiten esta opción, pero muchos sí. Esta lista es bastante estable, pero no te notificaremos de forma proactiva si cambia. |
Filtrado basado en IP (no se recomienda en absoluto) | Usar una lista estática muy grande de direcciones IP | Incluye en la lista de entidades permitidas todas las direcciones IP que se indican en goog.json. Esta lista se actualiza con frecuencia y se recomienda que actualices tus reglas de forma mensual. A menudo, los problemas causados por las restricciones de IP del firewall son intermitentes y difíciles de diagnosticar. | Cambiamos nuestra lista de direcciones IP con mucha frecuencia y sin previo aviso, por lo que deberás ingresar esta gran lista y actualizarla con frecuencia. Además, vemos errores de escritura frecuentes cuando las personas intentan ingresar listas de IPs permitidas en las reglas de su firewall. No recomendamos esto porque, invariablemente, la información se desactualiza y no se mantiene. Además, el tamaño de la lista puede ser difícil de manejar para algunos routers. |
Firewalls de traducción de direcciones de red o inspección de paquetes con estado
Si tu red implementa la traducción de direcciones de red (NAT) o la inspección de paquetes con estado (SPI), implementa un tiempo de espera de 30 minutos o más para nuestras conexiones a través de los puertos 5228, 5229 y 5230. Esto nos permite proporcionar una conectividad confiable y, al mismo tiempo, reducir el consumo de batería de los dispositivos móviles de los usuarios.
FCM y proxies
El protocolo de FCM para entregar mensajes push a los dispositivos no se puede redireccionar a través de proxies de red. Por lo tanto, deberás asegurarte de que la conexión FCM de los dispositivos de tu red pueda conectarse directamente con nuestros servidores.
Interacciones de VPN y la capacidad de omitirlas
Firebase Cloud Messaging realiza varios pasos para garantizar que la conexión de mensajería push del teléfono al servidor sea confiable y esté disponible con la mayor frecuencia posible. El uso de una VPN complica este esfuerzo.
Las VPNs enmascaran la información subyacente que FCM necesita para ajustar su conexión y maximizar la confiabilidad y la duración de batería. En algunos casos, las VPNs interrumpen de forma activa las conexiones de larga duración, lo que genera una mala experiencia del usuario debido a mensajes perdidos o retrasados, o a un alto costo de batería. Cuando la VPN está configurada para permitirnos hacerlo, omitimos la VPN con una conexión encriptada (a través de la red base Wi-Fi o LTE) para garantizar una experiencia confiable y con menos gasto de batería. El uso de FCM de las VPNs que pueden omitirse es específico del canal de notificaciones push de FCM. El resto del tráfico de FCM, como el tráfico de registro, usa la VPN si está activa. Cuando la conexión de FCM omite la VPN, pierde los beneficios adicionales que la VPN pueda proporcionar, como el enmascaramiento de IP.
Las diferentes VPNs tendrán distintos métodos para controlar si pueden omitir o no. Consulta la documentación de tu VPN específica para obtener instrucciones.
Si la VPN no está configurada para que se pueda omitir, Firebase Cloud Messaging usará la red de VPN para conectarse al servidor. Esto puede generar períodos en los que los mensajes se retrasan y puede provocar un mayor uso de batería, ya que Cloud Messaging trabaja para mantener la conexión a través de la conexión de VPN.