Configurare la rete per FCM

Questo documento descrive le configurazioni di rete necessarie per FCM il corretto funzionamento di nel tuo ambiente di rete.

Configurare la rete per l'invio di messaggi a FCM

Prima di iniziare, devi assicurarti che il tuo sistema comunichi con FCM server 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 (abbonamento agli argomenti e gestione dei gruppi di dispositivi)

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

Configurare la rete per i dispositivi Android che utilizzano FCM

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

FCM porte 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
Nessuna (opzione preferita) - - -
Filtro basato sulle porte (seconda scelta) Limita 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 Utilizzo di una configurazione firewall speciale per consentire a determinate voci SNI TLS di passare attraverso il firewall. Questa opzione può essere combinata con il filtro basato sulle porte.

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 supportano questa opzione, ma molti sì. Questo elenco è abbastanza stabile, ma non ti invieremo una notifica proattiva in caso di modifiche.
Filtro basato su IP (fortemente sconsigliato) Utilizza un elenco statico molto grande di indirizzi IP. Consenti tutti gli indirizzi IP elencati in goog.json. Questo elenco viene aggiornato regolarmente e ti consigliamo di aggiornare le regole su base mensile. I problemi causati dalle restrizioni IP del firewall sono spesso intermittenti e difficili da diagnosticare. L'elenco degli indirizzi IP viene modificato molto spesso e senza preavviso, pertanto dovrai inserire questo elenco di grandi dimensioni e aggiornarlo di frequente.

Inoltre, notiamo errori di battitura frequenti quando le persone cercano di inserire le liste consentite 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 con Network Address Translation o ispezione dei pacchetti stateful

Se la tua rete implementa la traduzione degli indirizzi di rete (NAT) o l'ispezione dei pacchetti con stato (SPI), implementa un timeout di 30 minuti o più per le nostre connessioni sulle porte 5228-5230. In questo modo possiamo fornire una connettività affidabile riducendo al contempo il consumo della batteria dei dispositivi mobili degli utenti.

FCM e proxy

Il protocollo di FCM's per la consegna di messaggi push ai dispositivi non può essere sottoposto a proxy tramite proxy di rete. Pertanto, dovrai assicurarti che la FCM connessione dai dispositivi sulla tua rete possa connettersi direttamente con i 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 questo sforzo.

Le VPN mascherano le informazioni sottostanti di cui FCM ha bisogno per ottimizzare la sua connessione al fine di 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 persi o ritardati 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 a basso consumo 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 FCM connessione bypassa la VPN, perde i vantaggi aggiuntivi che la VPN può fornire, ad esempio il mascheramento dell'IP.

Le diverse VPN 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 utilizzo della batteria, poiché Cloud Messaging funziona per mantenere la connessione tramite la connessione VPN.