Questa pagina fornisce assistenza per la risoluzione dei problemi e risposte alle domande frequenti su Cloud Messaging.
Qual è la differenza tra il compositore di notifiche e FCM?
Firebase Cloud Messaging fornisce un set completo di funzionalità di messaggistica tramite i suoi SDK client e il protocollo del server HTTP. Per le implementazioni con requisiti di messaggistica più complessi,
FCM è la scelta giusta.
Il compositore di notifiche è una soluzione di messaggistica serverless leggera
basata su Firebase Cloud Messaging. Grazie a una console grafica intuitiva e a requisiti di codifica ridotti, il compositore di notifiche consente agli utenti di inviare messaggi per coinvolgere e fidelizzare gli utenti, favorire la crescita delle app e supportare le campagne di marketing.
| Funzionalità |
|
Compositore di notifiche |
Cloud Messaging |
| Destinazione |
Singolo dispositivo |
|
|
|
Clienti iscritti ad argomenti
(ad es. meteo) |
|
|
|
Client in un segmento di utenti predefinito (app, versione, lingua) |
|
|
|
Clienti nei segmenti di pubblico di Analytics specificati |
|
|
|
Clienti nei gruppi di dispositivi |
|
|
|
A monte dal client al server |
|
|
| Tipo di messaggio |
Notifiche fino a 2 KB |
|
|
|
Messaggi di dati fino a 4 KB |
|
|
| Pubblicazione |
Immediata |
|
|
|
Ora locale futura del dispositivo client |
|
|
| Analytics |
Raccolta delle analisi delle notifiche integrate e analisi
della canalizzazione |
|
|
Devo utilizzare altri
servizi Firebase per utilizzare FCM?
Puoi utilizzare Firebase Cloud Messaging come componente autonomo, senza utilizzare
altri servizi Firebase.
Perché i miei dispositivi target
non riescono apparentemente a ricevere messaggi?
Quando sembra che i dispositivi non abbiano ricevuto correttamente i messaggi, controlla prima
queste due potenziali cause:
Gestione dei messaggi in primo piano per i messaggi di notifica. Le app client devono
aggiungere la logica di gestione dei messaggi per gestire i messaggi di notifica quando l'app è in
primo piano sul dispositivo. Consulta i dettagli per
iOS e
Android.
Limitazioni del firewall di rete. Se la tua organizzazione dispone di un firewall che limita il traffico da o verso internet, devi configurarlo per consentire la connettività con FCM affinché le app client Firebase Cloud Messaging ricevano i messaggi. Le porte da aprire sono:
FCM di solito utilizza la porta 5228, ma a volte utilizza le porte 5229 e 5230.
FCM non fornisce IP specifici, pertanto devi consentire al firewall di
accettare connessioni in uscita a tutti gli indirizzi IP contenuti nei blocchi IP
elencati nell'ASN 15169 di Google.
Perché
onMessageReceived non viene chiamato nella mia app per Android?
Quando l'app è in background, i messaggi di
notifica
vengono visualizzati nella barra delle applicazioni e onMessageReceived non viene chiamato. Per i messaggi di notifica con un payload di dati, il messaggio di notifica viene visualizzato nella barra delle applicazioni e i dati inclusi nel messaggio di notifica possono essere recuperati dall'intent avviato quando l'utente tocca la notifica.
Per saperne di più, consulta Ricevere e gestire i messaggi.
Perché ricevo l'errore 404
quando invio messaggi a un'istanza dell'app attiva ripristinata da un backup?
L'ID installazione Firebase (FID) è l'identificatore di un'istanza dell'app. Per impostazione predefinita,
i dati di installazione Firebase vengono sottoposti a backup e ripristinati. Pertanto, nel caso del ripristino, l'istanza dell'app ripristinata e l'istanza dell'app originale condividono lo stesso FID. Poiché FCM memorizza un solo token per FID, se sono in uso sia l'istanza dell'app originale sia quella ripristinata, quando un'istanza dell'app si registra con FCM, il token dell'altra istanza dell'app viene rimosso, causando errori 404.
Consigliamo agli sviluppatori di procedere come segue nella propria app:
- Escludi
i dati di installazione di Firebase dal backup. I dati di installazione di Firebase vengono archiviati
in un file
PersistedInstallation....json. Il nome file è una costante per un'app. Ad esempio, <exclude domain="file" path="PersistedInstallation.W0R...GQ.json"
/>
Apple
ha annunciato il ritiro del protocollo binario legacy per APN. Devo fare
qualcosa?
No. Firebase Cloud Messaging è passato al protocollo APN basato su HTTP/2 nel 2017.
Se utilizzi FCM per inviare notifiche ai dispositivi iOS, non dovresti
dover fare nulla.
Quote e limiti di FCM
Come faccio a inviare una notifica a un'ampia base di clienti
in 2 minuti?
Questo caso d'uso non può essere supportato. Devi distribuire il traffico su 5 minuti.
La mia app invia notifiche agli utenti di eventi e questi messaggi devono essere recapitati immediatamente per supportare la mia impresa. Posso ottenere più quota?
Purtroppo, non possiamo concedere aumenti della quota per questo motivo. Devi distribuire
il traffico su 5 minuti per evitare picchi
di traffico.
I miei messaggi riguardano
eventi programmati. Come faccio a inviare tutto il traffico all'inizio dell'ora?
Ti consigliamo di iniziare a inviare le notifiche almeno 5 minuti prima dell'evento. In alternativa, invia messaggi di dati e implementa l'equivalente del gestore onMessageReceived della tua piattaforma per pianificare le notifiche locali in anticipo.
Gli errori 429 sono difficili
da gestire per me e la mia impresa. Posso ottenere un'esenzione o una quota maggiore per evitare
di ricevere errori 429?
Sebbene ci rendiamo conto che i limiti di quota possano essere difficili da gestire, le quote sono fondamentali per
mantenere l'affidabilità del servizio e non possiamo concedere esenzioni. Utilizza i nuovi tentativi per gestire correttamente gli errori 429.
Quanto tempo
ci vuole per soddisfare la mia richiesta di aumento della quota?
La tua richiesta di aumento
della quota dipende dal tuo
utilizzo di FCM. In ogni caso, dovresti ricevere una risposta entro pochi giorni lavorativi. In alcuni casi, potrebbero esserci alcuni scambi di comunicazioni in merito al tuo utilizzo di
FCM e a varie circostanze, il che può prolungare la procedura. Se tutti
i requisiti sono soddisfatti, la maggior parte delle richieste verrà gestita entro 2 settimane.
Posso ottenere una quota maggiore per un evento temporaneo?
Puoi richiedere una quota aggiuntiva per supportare un evento della durata massima di un mese.
Invia la richiesta almeno un mese prima dell'evento e con dettagli chiari
su quando inizia e termina l'evento. FCM farà ogni sforzo pratico
per soddisfare la richiesta. Se concessi, questi aumenti della quota verranno
ripristinati dopo la data di fine dell'evento.
La mia quota attuale è soggetta
a modifiche?
Anche se Google non lo farà alla leggera, le quote potrebbero essere modificate in base alle esigenze per proteggere l'integrità del sistema. Se possibile, Google ti avviserà in anticipo di
queste modifiche. Mantieni aggiornati i tuoi contatti Cloud MSA per aumentare le probabilità di ricevere annunci di servizio.
Ritiri delle API legacy FCM
API lato server ritirate a settembre 2026
Quali API e funzionalità sono deprecate e verranno ritirate? Che cosa devo fare se utilizzo queste API?
Tutte le API server InstanceId
e la funzionalità dei gruppi di dispositivi sono
ritirate e verranno ritirate il 29 settembre 2027. La tabella seguente
mostra maggiori dettagli sulle API/funzionalità ritirate e sull'azione richiesta.
| Nome API
|
Endpoint API
|
Uso previsto
|
Impatto sul cliente
|
Azione richiesta
|
| API InstanceId info
|
https://iid.googleapis.com/iid/info
|
Ottenere informazioni relative a un InstanceId / token FCM
|
Le richieste a questa API inizieranno a non andare a buon fine dopo il 29 settembre 2027.
|
Per i clienti che utilizzano l'API per la convalida dei token, utilizza l'API di invio FCM V1 e imposta validate_only su true.
I clienti che utilizzano l'API per ottenere informazioni sugli abbonamenti agli argomenti devono eseguire la migrazione alla nuova API per gli abbonamenti agli argomenti.
|
| API di sottoscrizione all'argomento InstanceId
|
https://iid.googleapis.com/iid/v1/…/rel/topics
https://iid.googleapis.com/iid/v1:batchAdd
https://iid.googleapis.com/iid/v1:batchRemove
|
Sottoscrizione di token a un argomento tramite l'API di sottoscrizione all'argomento legacy.
|
Le richieste a queste API inizieranno a non andare a buon fine dopo il 29 settembre 2027.
|
Esegui la migrazione alla nuova API del server di iscrizione agli argomenti FCM per l'iscrizione e l'annullamento dell'iscrizione agli argomenti.
|
| API per l'importazione batch di InstanceId
|
https://iid.googleapis.com/iid/v1:batchImport
|
Creazione di token FCM per iOS in batch lato server.
|
Le richieste a questa API inizieranno a non andare a buon fine dopo il 29 settembre 2027.
La creazione di registrazioni FCM dai token APN lato server non sarà supportata.
|
Puoi utilizzare il servizio APNs di Apple per inviare notifiche utilizzando i token APNs.
Per ottenere vantaggi aggiuntivi forniti da FCM, integra la tua app con l'SDK iOS FCM, che creerà registrazioni FCM sul client.
|
| API di gestione dei gruppi di dispositivi
|
https://fcm.googleapis.com/fcm/notification
https://fcm.googleapis.com/gcm/notification
https://fcm.googleapis.com/iid/notification
https://fcm.googleapis.com/notification
|
Aggiunta / rimozione/ recupero dei membri del gruppo di dispositivi.
|
Le richieste a questa API inizieranno a non andare a buon fine dopo il 29 settembre 2027.
|
Consulta le indicazioni per la migrazione dalla funzionalità.
I messaggi possono comunque essere inviati a singole registrazioni FCM anziché a token di gruppo.
|
| Invio al gruppo di dispositivi
|
https://fcm.googleapis.com/v1/projects/…/messages:send
|
Invio di messaggi a gruppi di dispositivi utilizzando notification_key di gruppo.
|
Questa API continuerà a funzionare, ma non supporterà i token del gruppo di dispositivi dopo il 29 settembre 2027.
|
Se utilizzo l'SDK Firebase Admin per gestire le iscrizioni agli argomenti, sarò interessato dal ritiro? Che cosa devo fare?
Se utilizzi versioni precedenti dell'SDK Firebase Admin per gestire le iscrizioni agli argomenti, la deprecazione ti interesserà.
Dovrai eseguire l'upgrade dell'SDK Firebase Admin alle
seguenti versioni:
| Piattaforma
|
Versione dell'SDK Admin interessata
|
Versione dell'SDK Admin a cui eseguire l'upgrade
|
| Node.js
|
<=14.4.0
|
>=14.5.0
|
| Python
|
<=7.6.0
|
>=7.7.0
|
| Java
|
<=9.10.0
|
Disponibile a breve
|
| Vai
|
<=4.21.0
|
>=4.22.0
|
| .NET
|
<=3.6.0
|
Disponibile a breve
|
Vedrò un downgrade del servizio prima del 29 settembre 2027?
No. Hai 12 mesi di tempo per eseguire la migrazione dalle API ritirate alle alternative senza alcun downgrade del servizio. Ti consigliamo vivamente di pianificare la migrazione il prima possibile per evitare problemi dovuti al ritiro.
È previsto che riceverai errori quando chiami le API ritirate dopo il 29 settembre 2027.
I nuovi utenti possono eseguire l'onboarding delle API/funzionalità ritirate prima del ritiro?
I nuovi utenti possono eseguire l'onboarding delle API/funzionalità ritirate prima del 1° gennaio 2027.
Dopo il 1° gennaio 2027, i nuovi utenti non potranno utilizzare le API deprecate.
Gli utenti che utilizzano le API ritirate possono continuare a farlo fino al 29 settembre 2027.