Configurar sua rede para o FCM

Este documento descreve as configurações de rede necessárias para que o FCM funcione corretamente no seu ambiente de rede.

Configure sua rede para enviar mensagens para FCM

Antes de começar, verifique se o sistema está se comunicando com os servidores FCM para enviar mensagens e gerenciar assinaturas.

Para enviar mensagens FCM ou gerenciar assinaturas, sua rede precisa se comunicar com os seguintes servidores por https:

  • fcm.googleapis.com (envio de mensagens)
  • accounts.google.com (autenticação para envio de mensagens)
  • iid.googleapis.com (inscrição em temas e gerenciamento de grupos de dispositivos)

Essa lista está sujeita a mudanças ao longo do tempo. Não é possível fornecer uma lista de permissões baseada em IP para esses endpoints.

Configure sua rede para dispositivos Android usando FCM

Esta seção detalha como configurar sua rede para oferecer suporte ao tráfego FCM para dispositivos Android.

Portas do FCM e seu firewall

A grande maioria das redes não limita a conexão de dispositivos ao restante da Internet. Em geral, essa é nossa recomendação. No entanto, algumas organizações exigem firewalls como parte do plano de segurança de perímetro.

Opções de firewall

Opção O que ele faz Regras específicas Observações
Nenhum (preferencial) - - -
Filtragem baseada em porta (segunda opção) Limitar o tráfego a portas específicas

Portas TCP a serem abertas:

  • 5228
  • 5229
  • 5230
  • 443
Essa é a regra mais simples e evita a dependência de coisas que provavelmente vão mudar com o tempo.
Filtragem com base no nome do host Usar uma configuração especial de firewall para permitir que determinadas entradas de SNI TLS passem pelo firewall. Isso pode ser combinado com a filtragem baseada em porta.

Nomes de host a serem abertos:

  • mtalk.google.com
  • mtalk4.google.com
  • mtalk-staging.google.com
  • mtalk-dev.google.com
  • alt1-mtalk.google.com
  • alt2-mtalk.google.com
  • alt3-mtalk.google.com
  • alt4-mtalk.google.com
  • alt5-mtalk.google.com
  • alt6-mtalk.google.com
  • alt7-mtalk.google.com
  • alt8-mtalk.google.com
  • android.apis.google.com
  • device-provisioning.googleapis.com
  • firebaseinstallations.googleapis.com
Nem todos os softwares de firewall são compatíveis com isso, mas muitos são. Essa lista é bastante estável, mas não vamos notificar você proativamente se ela mudar.
Filtragem baseada em IP (não recomendado) Use uma lista estática muito grande de endereços IP. Coloque todos os endereços IP listados em goog.json na lista de permissões. Essa lista é atualizada regularmente. Recomendamos que você atualize as regras mensalmente. Problemas causados por restrições de IP do firewall são muitas vezes intermitentes e difíceis de diagnosticar. Mudamos nossa lista de endereços IP com muita frequência e sem aviso prévio. Por isso, é necessário inserir e atualizar essa lista com frequência.

Além disso, vemos erros de digitação frequentes quando as pessoas tentam inserir listas de permissão de IP nas regras de firewall.

Não recomendamos isso porque, invariavelmente, as informações ficam desatualizadas e não são mantidas.

Além disso, o tamanho da lista pode ser complicado para alguns roteadores.

Firewalls com conversão de endereços de rede ou inspeção dos estados dos pacotes

Caso sua rede implemente Conversão de endereços de rede (NAT, na sigla em inglês) ou Inspeção dos estados dos pacotes (SPI, na sigla em inglês), implemente um tempo limite de 30 minutos ou mais para nossas conexões nas portas 5228 a 5230. Com isso, podemos fornecer uma conectividade confiável, reduzindo o consumo de bateria dos dispositivos móveis dos usuários.

FCM e proxies

O protocolo do FCM para entregar mensagens push a dispositivos não pode ser encaminhado por proxies de rede. Portanto, é necessário garantir que a conexão FCM dos dispositivos na sua rede possa se conectar diretamente com nossos servidores.

Interações e bypass de VPN

O Firebase Cloud Messaging realiza várias etapas para garantir que a conexão de mensagens push do smartphone para o servidor seja confiável e disponível com a maior frequência possível. O uso de uma VPN complica esse esforço.

As VPNs mascaram as informações que o FCM precisa para ajustar a conexão para maximizar a confiabilidade e duração da bateria. Em alguns casos, as VPNs interrompem ativamente as conexões de longa duração que resultam em uma experiência do usuário ruim devido a mensagens atrasadas ou um alto custo de bateria. Quando a VPN está configurada para permitir que ignoremos a VPN usando uma conexão criptografada (por meio da rede Wi-Fi ou LTE de base) para garantir uma experiência fácil e confiável. O uso de VPNs bypass pelo FCM é específico do canal de notificação push do FCM. Outro tráfego do FCM, como o de registro, usa a VPN se ela estiver ativa. Quando a conexão do FCM ignora a VPN, ela perde outros benefícios que a VPN pode oferecer, como máscara de IP.

VPNs diferentes têm métodos diferentes para controlar se elas podem ser ignoradas. Consulte a documentação específica da sua VPN para ver as instruções.

Se a VPN não estiver configurada para ser ignorada, o Firebase Cloud Messaging usará a rede VPN para se conectar ao servidor. Isso pode resultar em períodos em que as mensagens fiquem atrasadas e em mais uso da bateria, à medida que o Cloud Messaging trabalha para manter a conexão pela VPN.