FCM 실패 조건에 대한 오류 코드입니다.
에러 코드 | 설명 및 해결 단계 |
---|---|
UNSPECIFIED_ERROR 이 오류에 대한 추가 정보가 없습니다. | 없음. |
INVALID_ARGUMENT (HTTP 오류 코드 = 400) 요청 매개변수가 잘못되었습니다. 어떤 필드가 유효하지 않은지 지정하기 위해 google.rpc.BadRequest 유형의 확장이 반환됩니다. | 잠재적인 원인으로는 잘못된 등록, 잘못된 패키지 이름, 메시지가 너무 큼, 잘못된 데이터 키, 잘못된 TTL 또는 기타 잘못된 매개변수 등이 있습니다. 잘못된 등록 : 서버에 전달한 등록 토큰의 형식을 확인하세요. 클라이언트 앱이 FCM에 등록하여 받는 등록 토큰과 일치하는지 확인하세요. 토큰을 자르거나 문자를 추가하지 마세요. 잘못된 패키지 이름 : 패키지 이름이 요청에 전달된 값과 일치하는 등록 토큰으로 메시지가 전달되었는지 확인하세요. 메시지가 너무 큼 : 메시지에 포함된 페이로드 데이터의 총 크기가 FCM 제한(대부분의 메시지의 경우 4096바이트, 주제에 대한 메시지의 경우 2048바이트)을 초과하지 않는지 확인하세요. 여기에는 키와 값이 모두 포함됩니다. 잘못된 데이터 키 : 페이로드 데이터에 FCM에서 내부적으로 사용하는 키(예: from, gcm 또는 google이 앞에 붙은 값)가 포함되어 있지 않은지 확인하세요. 일부 단어(예:collapse_key)는 FCM에서도 사용되지만 페이로드에서는 허용됩니다. 이 경우 페이로드 값은 FCM 값으로 재정의됩니다. 잘못된 TTL : ttl에 사용된 값이 0~2,419,200(4주) 사이의 기간(초)을 나타내는 정수인지 확인하세요. 잘못된 매개변수 : 제공된 매개변수의 이름과 유형이 올바른지 확인하세요. |
UNREGISTERED (HTTP 오류 코드 = 404) 앱 인스턴스가 FCM에서 등록 취소되었습니다. 이는 일반적으로 사용된 토큰이 더 이상 유효하지 않으며 새 토큰을 사용해야 함을 의미합니다. | 이 오류는 등록 토큰이 누락되었거나 등록되지 않은 토큰으로 인해 발생할 수 있습니다. 누락된 등록 : 메시지의 대상이 token 값인 경우 요청에 등록 토큰이 포함되어 있는지 확인하세요.등록되지 않음 : 기존 등록 토큰은 다음을 포함한 여러 시나리오에서 유효하지 않을 수 있습니다. - 클라이언트 앱이 FCM에 등록 취소된 경우. - 클라이언트 앱이 자동으로 등록 취소되는 경우(사용자가 애플리케이션을 제거하면 발생할 수 있음) 예를 들어 iOS에서 APN 피드백 서비스가 APN 토큰을 유효하지 않은 것으로 보고한 경우입니다. - 등록 토큰이 만료되는 경우(예를 들어 Google이 등록 토큰을 새로 고치기로 결정하거나 iOS 기기에 대한 APN 토큰이 만료된 경우) - 클라이언트 앱이 업데이트되었지만 새 버전이 메시지를 수신하도록 구성되지 않은 경우. 이러한 모든 경우에 대해 앱 서버에서 이 등록 토큰을 제거하고 메시지 전송에 사용하는 것을 중지하세요. |
SENDER_ID_MISMATCH (HTTP 오류 코드 = 403) 인증된 발신자 ID가 등록 토큰의 발신자 ID와 다릅니다. | 등록 토큰은 특정 발신자 그룹과 연결되어 있습니다. 클라이언트 앱이 FCM에 등록할 때 메시지를 보낼 수 있는 발신자를 지정해야 합니다. 클라이언트 앱에 메시지를 보낼 때 해당 발신자 ID 중 하나를 사용해야 합니다. 다른 발신자로 전환하면 기존 등록 토큰이 작동하지 않습니다. |
QUOTA_EXCEEDED (HTTP 오류 코드 = 429) 메시지 대상에 대한 전송 한도가 초과되었습니다. 초과된 할당량을 지정하기 위해 google.rpc.QuotaFailure 유형의 확장이 반환됩니다. | 이 오류는 메시지 속도 할당량 초과, 장치 메시지 속도 할당량 초과 또는 주제 메시지 속도 할당량 초과로 인해 발생할 수 있습니다. 메시지 속도 초과 : 메시지 전송 속도가 너무 높습니다. 메시지를 보내는 전체 속도를 줄여야 합니다. 거부된 메시지를 재시도하려면 최소 초기 지연 시간이 1분인 지수 백오프를 사용하세요. 장치 메시지 비율 초과 : 특정 장치에 대한 메시지 비율이 너무 높습니다. 단일 장치에 대한 메시지 속도 제한을 참조하세요 . 이 기기로 전송되는 메시지 수를 줄이고 지수 백오프를 사용하여 전송을 다시 시도하세요. 주제 메시지 비율 초과 : 특정 주제의 구독자에게 보내는 메시지 비율이 너무 높습니다. 이 주제에 대해 전송된 메시지 수를 줄이고 최소 초기 지연 시간이 1분인 지수 백오프를 사용하여 전송을 다시 시도합니다. |
UNAVAILABLE (HTTP 오류 코드 = 503) 서버가 과부하되었습니다. | 서버가 제때에 요청을 처리하지 못했습니다. 동일한 요청을 다시 시도하되 다음을 수행해야 합니다. - FCM 연결 서버의 응답에 Retry-After 헤더가 포함된 경우 이를 적용합니다. - 재시도 메커니즘에 지수 백오프를 구현합니다. (예를 들어 첫 번째 재시도 전에 1초를 기다린 경우 다음 재시도 전에 최소 2초를 기다린 다음 4초를 기다리십시오.) 여러 메시지를 보내는 경우 지터링 적용을 고려하세요. 자세한 내용은 재시도 처리를 참조하세요 . 문제를 일으키는 발신자는 거부 목록에 포함될 위험이 있습니다. |
INTERNAL (HTTP 오류 코드 = 500) 알 수 없는 내부 오류가 발생했습니다. | 요청을 처리하는 동안 서버에서 오류가 발생했습니다. 재시도 처리의 제안에 따라 동일한 요청을 재시도할 수 있습니다 . 오류가 지속되면 Firebase 지원팀에 문의하세요. |
THIRD_PARTY_AUTH_ERROR (HTTP 오류 코드 = 401) APN 인증서 또는 웹 푸시 인증 키가 유효하지 않거나 누락되었습니다. | iOS 기기 또는 웹 푸시 등록을 대상으로 하는 메시지를 보낼 수 없습니다. 개발 및 프로덕션 자격 증명의 유효성을 확인하세요. |