ErrorCode

Códigos de error para condiciones de falla de FCM.

Enumeraciones Acciones recomendadas
UNSPECIFIED_ERROR No hay más información disponible sobre este error. Ninguna.
INVALID_ARGUMENT (Código de error HTTP = 400) Los parámetros de solicitud no son válidos. Se devuelve una extensión de tipo google.rpc.BadRequest para especificar qué campo no era válido. Las posibles causas incluyen registro no válido, nombre de paquete no válido, mensaje demasiado grande, clave de datos no válida, TTL no válido u otros parámetros no válidos.
Registro no válido : compruebe el formato del token de registro que pasa al servidor. Asegúrese de que coincida con el token de registro que recibe la aplicación del cliente al registrarse con las notificaciones de Firebase. No trunque ni agregue caracteres adicionales.
Nombre de paquete no válido : asegúrese de que el mensaje se haya dirigido a un token de registro cuyo nombre de paquete coincida con el valor pasado en la solicitud.
Mensaje demasiado grande : compruebe que el tamaño total de los datos de carga incluidos en un mensaje no supere los límites de FCM: 4096 bytes para la mayoría de los mensajes, o 2048 bytes en el caso de mensajes a temas. Esto incluye tanto las claves como los valores.
Clave de datos no válida: comprueba que los datos de la carga útil no contengan una clave (como from, gcm o cualquier valor con el prefijo de google) que FCM utilice internamente. Tenga en cuenta que algunas palabras (como colapso_clave) también son utilizadas por FCM pero están permitidas en la carga útil, en cuyo caso el valor de la carga útil será anulado por el valor de FCM.
TTL no válido : Verifique que el valor utilizado en ttl sea un número entero que represente una duración en segundos entre 0 y 2,419,200 (4 semanas).
Parámetros no válidos : compruebe que los parámetros proporcionados tengan el nombre y el tipo correctos.
UNREGISTERED (Código de error HTTP = 404) La instancia de la aplicación no se registró en FCM. Esto generalmente significa que el token utilizado ya no es válido y se debe usar uno nuevo. Este error puede deberse a tokens de registro faltantes o tokens no registrados.
Registro faltante : si el objetivo del mensaje es un valor de token , verifique que la solicitud contenga un token de registro.
No registrado : un token de registro existente puede dejar de ser válido en varios escenarios, que incluyen:
- Si la aplicación cliente cancela el registro en FCM.
- Si la aplicación cliente se da de baja automáticamente, lo que puede suceder si el usuario desinstala la aplicación. Por ejemplo, en iOS, si el servicio de comentarios de APNS informó que el token de APNS no es válido.
- Si el token de registro caduca (por ejemplo, Google puede decidir actualizar los tokens de registro o el token APNS ha caducado para dispositivos iOS).
- Si la app cliente está actualizada pero la nueva versión no está configurada para recibir mensajes.
Para todos estos casos, elimine este token de registro del servidor de aplicaciones y deje de usarlo para enviar mensajes.
SENDER_ID_MISMATCH (Código de error HTTP = 403) La ID del remitente autenticado es diferente de la ID del remitente para el token de registro. Un token de registro está vinculado a un determinado grupo de remitentes. Cuando una aplicación cliente se registra para FCM, debe especificar qué remitentes pueden enviar mensajes. Debe usar una de esas ID de remitente cuando envíe mensajes a la aplicación cliente. Si cambia a un remitente diferente, los tokens de registro existentes no funcionarán.
QUOTA_EXCEEDED (Código de error HTTP = 429) Se excedió el límite de envío para el destino del mensaje. Se devuelve una extensión de tipo google.rpc.QuotaFailure para especificar qué cuota se superó. Este error puede deberse a que se excedió la cuota de tasa de mensajes, se excedió la cuota de tasa de mensajes del dispositivo o se excedió la cuota de tasa de mensajes de tema.
Tasa de mensajes superada : la tasa de envío de mensajes es demasiado alta. Debe reducir la velocidad general a la que envía mensajes. Utilice el retroceso exponencial con un retraso inicial mínimo de 1 minuto para reintentar los mensajes rechazados.
Tasa de mensajes del dispositivo excedida : la tasa de mensajes a un dispositivo en particular es demasiado alta. Consulte el límite de tasa de mensajes para un solo dispositivo . Reduzca la cantidad de mensajes enviados a este dispositivo y use la reducción exponencial para reintentar el envío.
Tasa de mensajes de tema excedida : la tasa de mensajes a los suscriptores de un tema en particular es demasiado alta. Reduzca la cantidad de mensajes enviados para este tema y use el retroceso exponencial con un retraso inicial mínimo de 1 minuto para reintentar el envío.
UNAVAILABLE (Código de error HTTP = 503) El servidor está sobrecargado. El servidor no pudo procesar la solicitud a tiempo. Vuelva a intentar la misma solicitud, pero debe:
- Respete el encabezado Reintentar después si está incluido en la respuesta del servidor de conexión de FCM.
- Implementar retroceso exponencial en su mecanismo de reintento. (por ejemplo, si esperó un segundo antes del primer reintento, espere al menos dos segundos antes del siguiente, luego 4 segundos y así sucesivamente). Si está enviando varios mensajes, retrase cada uno de forma independiente por una cantidad aleatoria adicional para evitar emitir una nueva solicitud para todos los mensajes al mismo tiempo. Los remitentes que causan problemas corren el riesgo de ser denegados.
INTERNAL (Código de error HTTP = 500) Se produjo un error interno desconocido. El servidor encontró un error al intentar procesar la solicitud. Puede volver a intentar la misma solicitud siguiendo los requisitos enumerados en "Tiempo de espera" (consulte la fila anterior). Si el error persiste, comuníquese con el soporte de Firebase.
THIRD_PARTY_AUTH_ERROR (Código de error HTTP = 401) El certificado APN o la clave de autenticación push web no son válidos o faltan. No se pudo enviar un mensaje dirigido a un dispositivo iOS o un registro push web. Verifica la vigencia de tus credenciales de desarrollo y producción.