ErrorCode

Códigos de erro para condições de falha do FCM.

Código do erro Etapas de descrição e resolução
UNSPECIFIED_ERROR Não há mais informações disponíveis sobre este erro. Nenhuma.
INVALID_ARGUMENT (código de erro HTTP = 400) Os parâmetros da solicitação eram inválidos. Uma extensão do tipo google.rpc.BadRequest é retornada para especificar qual campo era inválido. As possíveis causas incluem registro inválido, nome de pacote inválido, mensagem muito grande, chave de dados inválida, TTL inválido ou outros parâmetros inválidos.
Registro inválido: verifique o formato do token de registro transmitido ao servidor. Verifique se ele corresponde ao token de registro que o app cliente recebe ao se registrar no FCM. Não trunca o token nem adicione outros caracteres.
Nome de pacote inválido: confira se a mensagem foi endereçada a um token de registro com um nome de pacote igual ao valor transmitido na solicitação.
Mensagem muito grande: verifique se o tamanho total dos dados de payload incluídos em uma mensagem não excede os limites do FCM: 4.096 bytes para a maioria das mensagens ou 2.048 bytes no caso de mensagens para tópicos. Inclui as chaves e os valores.
Chave de dados inválida: verifique se os dados de payload não contêm uma chave (como "from", "gcm" ou qualquer valor prefixado pelo google) usada internamente pelo FCM. Algumas palavras, como fall_key, também são usadas pelo FCM, mas são permitidas no payload. Nesse caso, o valor do payload será substituído pelo valor do FCM.
TTL inválido: verifique se o valor usado em ttl é um número inteiro que representa uma duração em segundos entre 0 e 2.419.200 (4 semanas).
Parâmetros inválidos: verifique se os parâmetros fornecidos têm o nome e o tipo corretos.
UNREGISTERED (código de erro HTTP = 404) A inscrição da instância do app foi cancelada no FCM. Isso geralmente significa que o token usado não é mais válido e precisa usar um novo. Esse erro pode ser causado por tokens de registro ausentes ou tokens não registrados.
Missing Registration: se o destino da mensagem for um valor token, verifique se a solicitação contém um token de registro.
Não registrado: um token de registro atual pode deixar de ser válido em diversas situações, incluindo:
- Se o app cliente cancelar o registro com o FCM.
- Se o app cliente tiver o registro cancelado automaticamente, o que pode acontecer se o usuário desinstalar o app. Por exemplo, no iOS, se o serviço de feedback do APNs informou o token deles como inválido.
- Se o token de registro expirar, por exemplo, se o Google atualizar os tokens de registro, ou o token de APNs expirou para dispositivos iOS.
: se o app cliente estiver atualizado, mas a nova versão não estiver configurada para receber mensagens.
Para todos esses casos, remova o token de registro do servidor do app e pare de usá-lo para enviar mensagens.
SENDER_ID_MISMATCH (código de erro HTTP = 403) O ID do remetente autenticado é diferente do ID do remetente do token de registro. Um token de registro é vinculado a um determinado grupo de remetentes. Quando um app cliente se registra no FCM, ele precisa especificar os remetentes autorizados a enviar mensagens. Use um desses IDs de remetente ao enviar mensagens para o app cliente. Se você mudar para um remetente diferente, os tokens de registro atuais não vão funcionar.
QUOTA_EXCEEDED (código de erro HTTP = 429) Limite de envio excedido para o destino da mensagem. Uma extensão do tipo google.rpc.QuotaFailure é retornada para especificar qual cota foi excedida. Esse erro pode ser causado por que você excedeu a cota de taxa de mensagens, a cota de taxa de mensagens do dispositivo ou a cota de taxa de mensagens de tópico.
Taxa de mensagens excedida: a taxa de envio de mensagens está muito alta. Reduza a taxa geral de envio de mensagens. Use a espera exponencial com um atraso inicial mínimo de um minuto para repetir mensagens rejeitadas.
Taxa de mensagens do dispositivo excedida: a taxa de mensagens para um dispositivo específico está muito alta. Consulte o limite de taxa de mensagens para um único dispositivo. Reduza o número de mensagens enviadas a esse dispositivo e use a espera exponencial para tentar enviar novamente.
Taxa de mensagens de tópico excedida: a taxa de mensagens para assinantes de um determinado tópico está muito alta. Reduza o número de mensagens enviadas a esse tópico e use a espera exponencial com um atraso inicial mínimo de um minuto para tentar novamente.
UNAVAILABLE (código do erro HTTP = 503) O servidor está sobrecarregado. O servidor não conseguiu processar a solicitação a tempo. Tente fazer a mesma solicitação novamente. Para isso, é necessário:
- respeitar o cabeçalho "Retry-After" se ele estiver incluído na resposta do servidor de conexão do FCM;
- Implemente a espera exponencial no seu mecanismo de nova tentativa. Por exemplo, se você esperou um segundo antes da primeira nova tentativa, aguarde pelo menos dois segundos antes da próxima, depois 4 segundos e assim por diante. Se você estiver enviando várias mensagens, considere a aplicação de instabilidade. Para mais informações, consulte Como lidar com novas tentativas. Os remetentes que causam problemas podem ser incluídos na lista de bloqueio.
INTERNAL (código de erro HTTP = 500) Ocorreu um erro interno desconhecido. O servidor encontrou um erro enquanto tentava processar a solicitação. Repita a mesma solicitação seguindo as sugestões em Como lidar com novas tentativas. Se o erro persistir, entre em contato com o suporte do Firebase.
THIRD_PARTY_AUTH_ERROR (código de erro HTTP = 401) O certificado de APNs ou a chave de autenticação de push da Web era inválido ou está ausente. Não foi possível enviar uma mensagem segmentada para um dispositivo iOS ou um registro de push da Web. Verifique a validade de suas credenciais de desenvolvimento e produção.