Configurare la rete per FCM

Questo documento descrive le configurazioni di rete necessarie per il corretto funzionamento di FCM all'interno del tuo ambiente di rete.

Configura la tua rete per l'invio di messaggi a FCM

Prima di iniziare, devi assicurarti che il tuo sistema comunichi con i server FCM per l'invio di messaggi e la gestione degli abbonamenti.

Per inviare messaggi FCM o gestire gli abbonamenti, la tua rete dovrà comunicare con i seguenti server tramite HTTPS:

  • fcm.googleapis.com (invio di messaggi)
  • accounts.google.com (autenticazione per l'invio di messaggi)
  • iid.googleapis.com (gestione di abbonamenti agli argomenti e gruppi di dispositivi)

Questo elenco è soggetto a modifiche nel tempo. Non siamo in grado di fornire una lista consentita basata sull'IP per questi endpoint.

Configura la tua rete per i dispositivi Android utilizzando FCM

Questa sezione descrive in dettaglio come configurare la rete per supportare il traffico FCM per i dispositivi Android.

Porte FCM e firewall

La stragrande maggioranza delle reti non limita la connessione dei dispositivi al resto di internet. In generale, questo è il nostro consiglio. Tuttavia, alcune organizzazioni richiedono firewall come parte del loro piano di sicurezza perimetrale.

Opzioni firewall

Opzione Di cosa ci occupiamo Regole specifiche Note
Nessuno (preferito) - - -
Filtro basato sulla porta (seconda scelta) Limitare il traffico a porte specifiche

Porte TCP da aprire:

  • 5228
  • 5229
  • 5230
  • 443
Questa è la regola più semplice e impedisce la dipendenza da elementi che hanno maggiori probabilità di cambiare nel tempo.
Filtro basato sul nome host Utilizzando una configurazione firewall speciale per consentire a determinate voci SNI TLS di passare attraverso il firewall. Queste informazioni possono essere combinate con il filtro basato sulla porta.

Nomi host da aprire:

  • 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
Non tutti i software firewall lo supportano, ma molti sì. Questo elenco è piuttosto stabile, ma non ti invieremo una notifica proattiva in caso di modifiche.
Filtro basato su IP (non consigliato) Utilizza un elenco statico molto ampio di indirizzi IP. Aggiungi alla lista consentita tutti gli indirizzi IP elencati in goog.json. Questo elenco viene aggiornato regolarmente e ti consigliamo di aggiornare le regole mensilmente. I problemi causati dalle limitazioni IP del firewall sono spesso intermittenti e difficili da diagnosticare. Modifichiamo l'elenco degli indirizzi IP molto spesso e senza preavviso, quindi dovrai inserire questo lungo elenco e aggiornarlo di frequente.

Inoltre, notiamo spesso errori di battitura quando le persone cercano di inserire elenchi consentiti di IP nelle regole del firewall.

Non lo consigliamo perché invariabilmente le informazioni diventano obsolete e non vengono mantenute.

Inoltre, le dimensioni dell'elenco possono essere difficili da gestire per alcuni router.

Firewall Network Address Translation o Stateful Packet Inspection

Se la tua rete implementa Network Address Translation (NAT) o Stateful Packet Inspection (SPI), implementa un timeout di 30 minuti o più per le nostre connessioni sulle porte 5228-5230. Ciò ci consente di fornire una connettività affidabile riducendo al contempo il consumo della batteria dei dispositivi mobili degli utenti.

FCM e proxy

Il protocollo di FCM per la distribuzione di messaggi push ai dispositivi non può essere sottoposto a proxy tramite proxy di rete. Pertanto, devi assicurarti che la connessione FCM dai dispositivi sulla tua rete possa connettersi direttamente ai nostri server.

Interazioni VPN e possibilità di bypass

Firebase Cloud Messaging adotta varie misure per garantire che la connessione di messaggistica push dallo smartphone al server sia affidabile e disponibile il più spesso possibile. L'utilizzo di una VPN complica questa operazione.

Le VPN mascherano le informazioni sottostanti necessarie a FCM per ottimizzare la connessione in modo da massimizzare l'affidabilità e la durata della batteria. In alcuni casi, le VPN interrompono attivamente le connessioni a lunga durata, con conseguente esperienza utente negativa a causa di messaggi mancanti o in ritardo o di un elevato consumo della batteria. Quando la VPN è configurata per consentirci di farlo, la bypassiamo utilizzando una connessione criptata (tramite la rete di base Wi-Fi o LTE) per garantire un'esperienza affidabile e con un consumo ridotto della batteria. L'utilizzo di VPN bypassabili da parte di FCM è specifico per il canale di notifiche push FCM. L'altro traffico FCM, ad esempio il traffico di registrazione, utilizza la VPN se è attiva. Quando la connessione FCM ignora la VPN, perde i vantaggi aggiuntivi che la VPN potrebbe fornire, come il mascheramento dell'IP.

VPN diverse avranno metodi diversi per controllare se possono essere bypassate o meno. Per istruzioni, consulta la documentazione della tua VPN specifica.

Se la VPN non è configurata per essere bypassabile, Firebase Cloud Messaging utilizzerà la rete VPN per connettersi al server. Ciò potrebbe comportare periodi di tempo in cui i messaggi vengono ritardati e un maggiore consumo della batteria, poiché Cloud Messaging si impegna a mantenere la connessione tramite la connessione VPN.