ErrorCode

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

Enums Ações Recomendadas
UNSPECIFIED_ERROR Não há mais informações disponíveis sobre esse erro. Nenhum.
INVALID_ARGUMENT (Código de erro HTTP = 400) Os parâmetros de solicitação eram inválidos. Uma extensão do tipo google.rpc.BadRequest é retornada para especificar qual campo era inválido. As causas potenciais 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 que você passa para o servidor. Verifique se ele corresponde ao token de registro que o aplicativo cliente recebe ao se registrar no Firebase Notifications. Não trunque ou adicione caracteres adicionais.
Nome do pacote inválido : certifique-se de que a mensagem foi endereçada a um token de registro cujo nome do pacote corresponde ao valor passado na solicitação.
Mensagem muito grande : Verifique se o tamanho total dos dados de carga útil incluídos em uma mensagem não excede os limites do FCM: 4096 bytes para a maioria das mensagens ou 2048 bytes no caso de mensagens para tópicos. Isso inclui as chaves e os valores.
Chave de dados inválida : verifique se os dados de carga útil não contêm uma chave (como from, gcm ou qualquer valor prefixado por google) usada internamente pelo FCM. Observe que algumas palavras (como colapso_chave) também são usadas pelo FCM, mas são permitidas na carga útil; nesse caso, o valor da carga útil 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 instância do aplicativo não foi registrada no FCM. Isso geralmente significa que o token usado não é mais válido e um novo deve ser usado. Esse erro pode ser causado por tokens de registro ausentes ou tokens não registrados.
Registro ausente : se o destino da mensagem for um valor de token , verifique se a solicitação contém um token de registro.
Não registrado : um token de registro existente pode deixar de ser válido em vários cenários, incluindo:
- Se o aplicativo cliente cancelar o registro no FCM.
- Se o aplicativo cliente for automaticamente desregistrado, o que pode acontecer se o usuário desinstalar o aplicativo. Por exemplo, no iOS, se o APNS Feedback Service reportar o token APNS como inválido.
- Se o token de registro expirar (por exemplo, o Google pode decidir atualizar os tokens de registro ou o token APNS expirou para dispositivos iOS).
- Se o aplicativo cliente estiver atualizado, mas a nova versão não estiver configurada para receber mensagens.
Para todos esses casos, remova esse token de registro do servidor de aplicativos 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 está vinculado a um determinado grupo de remetentes. Quando um aplicativo cliente se registra no FCM, ele deve especificar quais remetentes têm permissão para enviar mensagens. Você deve usar um desses IDs de remetente ao enviar mensagens para o aplicativo cliente. Se você mudar para um remetente diferente, os tokens de registro existentes não funcionarão.
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 cota de taxa de mensagem excedida, cota de taxa de mensagem de dispositivo excedida ou cota de taxa de mensagem de tópico excedida.
Taxa de mensagens excedida : A taxa de envio de mensagens é muito alta. Você deve reduzir a taxa geral de envio de mensagens. Use a retirada exponencial com um atraso inicial mínimo de 1 minuto para tentar novamente as mensagens rejeitadas.
Taxa de mensagens do dispositivo excedida : A taxa de mensagens para um dispositivo específico é muito alta. Consulte o limite de taxa de mensagens para um único dispositivo . Reduza o número de mensagens enviadas para este dispositivo e use a retirada exponencial para tentar enviar novamente.
Taxa de mensagens de tópico excedida : a taxa de mensagens para assinantes de um tópico específico é muito alta. Reduza o número de mensagens enviadas para este tópico e use a retirada exponencial com um atraso inicial mínimo de 1 minuto para tentar enviar novamente.
UNAVAILABLE (Código de erro HTTP = 503) O servidor está sobrecarregado. O servidor não conseguiu processar a solicitação a tempo. Tente novamente a mesma solicitação, mas você deve:
- Honre o cabeçalho Retry-After se estiver incluído na resposta do FCM Connection Server.
- Implemente a retirada exponencial em seu mecanismo de repetição. (por exemplo, se você esperou um segundo antes da primeira tentativa, espere pelo menos dois segundos antes da próxima, depois 4 segundos e assim por diante). Se você estiver enviando várias mensagens, atrase cada uma de forma independente por um valor aleatório adicional para evitar a emissão de uma nova solicitação para todas as mensagens ao mesmo tempo. Os remetentes que causam problemas correm o risco de serem negados.
INTERNAL (Código de erro HTTP = 500) Ocorreu um erro interno desconhecido. O servidor encontrou um erro ao tentar processar a solicitação. Você pode tentar novamente a mesma solicitação seguindo os requisitos listados em "Tempo limite" (consulte a linha acima). 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 eram inválidos ou ausentes. Não foi possível enviar uma mensagem direcionada a um dispositivo iOS ou um registro de push da Web. Verifique a validade de suas credenciais de desenvolvimento e produção.