Codici di errore per condizioni di errore FCM.
Codice di errore | Descrizione e passaggi di risoluzione |
---|---|
UNSPECIFIED_ERROR Non sono disponibili ulteriori informazioni su questo errore. | Nessuno. |
INVALID_ARGUMENT (codice errore HTTP = 400) I parametri della richiesta non erano validi. Viene restituita un'estensione di tipo google.rpc.BadRequest per specificare quale campo non era valido. | Le possibili cause includono registrazione non valida, nome pacchetto non valido, messaggio troppo grande, chiave dati non valida, TTL non valido o altri parametri non validi. Registrazione non valida : controlla il formato del token di registrazione che passi al server. Assicurati che corrisponda al token di registrazione che l'app client riceve dalla registrazione con FCM. Non troncare il token né aggiungere ulteriori caratteri. Nome pacchetto non valido : assicurati che il messaggio fosse indirizzato a un token di registrazione il cui nome pacchetto corrisponde al valore passato nella richiesta. Messaggio troppo grande : verifica che la dimensione totale dei dati del payload inclusi in un messaggio non superi i limiti FCM: 4096 byte per la maggior parte dei messaggi o 2048 byte nel caso di messaggi ad argomenti. Ciò include sia le chiavi che i valori. Chiave dati non valida : controlla che i dati del payload non contengano una chiave (come from, o gcm, o qualsiasi valore con prefisso google) utilizzata internamente da FCM. Tieni presente che alcune parole (come breakdown_key) vengono utilizzate anche da FCM ma sono consentite nel payload, nel qual caso il valore del payload verrà sovrascritto dal valore FCM. TTL non valido : verificare che il valore utilizzato in ttl sia un numero intero che rappresenta una durata in secondi compresa tra 0 e 2.419.200 (4 settimane). Parametri non validi : verifica che i parametri forniti abbiano il nome e il tipo corretti. |
UNREGISTERED (codice errore HTTP = 404) La registrazione dell'istanza dell'app da FCM è stata annullata. Questo di solito significa che il token utilizzato non è più valido ed è necessario utilizzarne uno nuovo. | Questo errore può essere causato dalla mancanza di token di registrazione o da token non registrati. Registrazione mancante : se la destinazione del messaggio è un valore token , verifica che la richiesta contenga un token di registrazione.Non registrato : un token di registrazione esistente può cessare di essere valido in una serie di scenari, tra cui: - Se l'app client annulla la registrazione con FCM. - Se la registrazione dell'app client viene annullata automaticamente, cosa che può verificarsi se l'utente disinstalla l'applicazione. Ad esempio, su iOS, se il servizio di feedback APN segnala il token APN come non valido. - Se il token di registrazione scade (ad esempio, Google potrebbe decidere di aggiornare i token di registrazione o il token APN è scaduto per i dispositivi iOS). - Se l'app client viene aggiornata ma la nuova versione non è configurata per ricevere messaggi. In tutti questi casi, rimuovi questo token di registrazione dal server dell'app e smetti di usarlo per inviare messaggi. |
SENDER_ID_MISMATCH (codice errore HTTP = 403) L'ID mittente autenticato è diverso dall'ID mittente per il token di registrazione. | Un token di registrazione è legato a un determinato gruppo di mittenti. Quando un'app client si registra per FCM, deve specificare quali mittenti sono autorizzati a inviare messaggi. Dovresti utilizzare uno di questi ID mittente quando invii messaggi all'app client. Se passi a un mittente diverso, i token di registrazione esistenti non funzioneranno. |
QUOTA_EXCEEDED (codice errore HTTP = 429) Limite di invio superato per la destinazione del messaggio. Viene restituita un'estensione di tipo google.rpc.QuotaFailure per specificare quale quota è stata superata. | Questo errore può essere causato dal superamento della quota per la velocità dei messaggi, dal superamento della quota per i messaggi del dispositivo o dal superamento della quota per i messaggi dell'argomento. Velocità messaggi superata : la velocità di invio dei messaggi è troppo alta. È necessario ridurre la velocità complessiva con cui si inviano i messaggi. Utilizza il backoff esponenziale con un ritardo iniziale minimo di 1 minuto per ritentare i messaggi rifiutati. Frequenza messaggi dispositivo superata : la frequenza dei messaggi inviati a un particolare dispositivo è troppo alta. Visualizza il limite di velocità dei messaggi per un singolo dispositivo . Riduci il numero di messaggi inviati a questo dispositivo e utilizza il backoff esponenziale per ritentare l'invio. Frequenza messaggi argomento superata : la frequenza dei messaggi agli iscritti a un particolare argomento è troppo alta. Riduci il numero di messaggi inviati per questo argomento e utilizza il backoff esponenziale con un ritardo iniziale minimo di 1 minuto per ritentare l'invio. |
UNAVAILABLE (codice errore HTTP = 503) Il server è sovraccarico. | Il server non è riuscito a elaborare la richiesta in tempo. Riprovare la stessa richiesta, ma è necessario: - Rispettare l'intestazione Retry-After se è inclusa nella risposta dal server di connessione FCM. - Implementa il back-off esponenziale nel meccanismo dei tentativi. (es. se hai aspettato un secondo prima del primo tentativo, aspetta almeno due secondi prima del successivo, poi 4 secondi e così via). Se invii più messaggi, valuta la possibilità di applicare il jitter. Per ulteriori informazioni, vedere Gestione dei tentativi . I mittenti che causano problemi rischiano di essere inseriti nella lista nera. |
INTERNAL (codice errore HTTP = 500) Si è verificato un errore interno sconosciuto. | Il server ha riscontrato un errore durante il tentativo di elaborare la richiesta. Puoi riprovare la stessa richiesta seguendo i suggerimenti in Gestione dei tentativi . Se l'errore persiste, contatta il supporto Firebase. |
THIRD_PARTY_AUTH_ERROR (codice errore HTTP = 401) Il certificato APN o la chiave di autenticazione push Web non erano validi o mancavano. | Non è stato possibile inviare un messaggio destinato a un dispositivo iOS o una registrazione push web. Verifica la validità delle tue credenziali di sviluppo e produzione. |