Amazon SNS에서 Firebase Cloud Messaging(FCM) 모바일 푸시 알림 실패 문제를 해결하려면 어떻게 해야 합니까?

최종 업데이트 날짜: 2021년 10월 6일

Firebase Cloud Messaging(FCM) 모바일 푸시 알림이 Amazon Simple Notification Service(Amazon SNS)를 통해 전송되지 않습니다. 이 문제를 해결하려면 어떻게 해야 합니까?

해결 방법

Amazon CloudWatch Logs에 대한 푸시 알림 전송 상태 속성 구성 및 보기

FCM에서 직접 알림을 받을 수 있는지 확인합니다.

Amazon SNS 엔드포인트 측이나 클라이언트 애플리케이션 측에서 문제가 발생하는지 확인하려면 FCM 콘솔에서 테스트 메시지를 보냅니다. 지침은 FCM 설명서에서 알림 메시지 보내기(iOS용) 또는 테스트 알림 메시지 보내기(Android용)를 참조하세요.

테스트 알림을 전송하면 FCM 콘솔에 테스트 알림 결과를 제공하는 패널이 표시됩니다. 알림을 받지 못하면 이 문서의 올바른 FCM 메시지 유형을 사용하고 있는지 확인 섹션의 지침을 따르세요.

푸시 알림을 받지 않는 장치와 연결된 플랫폼 엔드포인트가 활성화되었는지 확인합니다.

1.    실패한 푸시 알림 전송에 대한 전송 상태 로그를 검토합니다("status": "FAILURE").

2.    "providerResponse": "Endpoint is disabled" 값에 대한 실패한 푸시 알림 전송 로그를 확인합니다. 실패한 전송 로그에 이 값이 표시되면 푸시 알림을 받지 않는 장치와 연결된 플랫폼 엔드포인트가 비활성화됩니다.

3.    플랫폼 엔드포인트가 비활성화된 경우 SetEndpointAttributes API 작업을 실행하여 다시 활성화합니다. SetEndpointAttributes API 작업을 실행하면 엔드포인트가 유효한 최신 장치 토큰과 연결됩니다.

참고: 자세한 내용은 플랫폼 엔드포인트 생성문제 해결 섹션에서 잘못된 장치 토큰과 연결된 플랫폼 엔드포인트 다시 활성화를 참조하세요.

실패한 FCM 푸시 알림 전송 CloudWatch 로그 이벤트 예제

{
  "notification": {
    "messageMD5Sum": "c8c339cf07dc39c9388253dgc81f257",
    "messageId": "fg207f98-0244-6767-96e2-45b1fg451gg8",
    "timestamp": "2021-05-25 22:27:51.889"
  },
  "delivery": {
    "deliveryId": "76ab7dcd-f444-5b4f-9d1b-24ea8863d9bc",
    "destination": "arn:aws:sns:us-east-1:123456789101:endpoint/GCM/MyAndroidApp/682dc992-a47f-45f7-b980-97727cce0a9c",
    "providerResponse": "Endpoint is disabled",
    "dwellTimeMs": 28,
    "attempts": 1,
    "token": "ojnco9nc9weucn9encx9ewunc9nu9w9euncec9necn9xexnexex9encewcerve0f0o0dmco9j",
    "statusCode": 400
  },
  "status": "FAILURE"
}

올바른 FCM 메시지 유형을 사용하고 있는지 확인합니다.

참고: FCM은 알림 메시지와 데이터 메시지의 두 가지 메시지 유형을 지원합니다. 알림 메시지는 FCM SDK에서 자동으로 처리됩니다. 데이터 메시지는 클라이언트 앱에서 처리합니다. 자세한 내용은 FCM 설명서의 메시지 유형 및 Amazon SNS 개발자 가이드의 플랫폼별 메시지 전송을 참조하세요.

클라이언트 앱에서 메시지 데이터를 처리하는 경우

데이터 메시지를 사용하는지 확인합니다. 자세한 내용은 FCM 설명서의 데이터 메시지를 참조하세요.

FCM SDK가 클라이언트 앱을 대신하여 알림 표시를 처리하도록 하려는 경우

알림 메시지를 사용하는지 확인합니다. 자세한 내용은 FCM 설명서의 알림 메시지를 참조하세요.

FCM 오류 응답 코드 식별 및 문제 해결

1.    실패한 푸시 알림 전송에 대한 전송 상태 로그를 검토합니다("status": "FAILURE").

2.    다른 플랫폼 응답 코드의 실패한 푸시 알림 전달 로그를 확인합니다. 그런 다음 FCM 설명서의 다운스트림 메시지 오류 응답 코드 섹션에서 해당 코드에 대해 나열된 권장 조치를 따릅니다.

참고: FCM 오류 코드 및 문제 해결 모범 사례에 대한 자세한 내용은 FCM 설명서의 ErrorCode를 참조하세요.


이 문서가 도움이 되었나요?


결제 또는 기술 지원이 필요하세요?