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

3분 분량
0

Firebase 클라우드 메시징(FCM) 모바일 푸시 알림이 Amazon Simple Notification Service (SNS) 를 통해 전송되지 않습니다.

해결 방법

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

푸시 알림을 위해 Amazon SNS 주제 전송 로그에 액세스하려면 어떻게 해야 하나요?의 지침을 따르세요.

디바이스가 푸시 알림 서버에 연결할 수 있는지 확인

특정 디바이스에서만 문제가 발생하는 경우 디바이스가 푸시 알림 서버에 연결할 수 있는지 확인하세요. 예를 들어 휴대기기가 네트워크에서 FCM에 연결할 수 있도록 허용하는 트래픽을 방화벽이 제한할 수 있습니다. 자세한 내용은 Firebase 웹사이트의 FCM 포트 및 방화벽을 참조하세요.

디바이스의 관련 플랫폼 엔드포인트가 활성화되었는지 확인

실패한 푸시 알림 전송 로그에서 값이 **"providerResponse": "Endpoint is disabled" **인지 확인합니다.

예시:

{  "notification": {
    "messageMD5Sum": "c8c339cf07dc39c9388253dgc81f257",
    "messageId": "fg207f98-0244-6767-96e2-45b1fg451gg8",
    "timestamp": "2023-06-23 16: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"
}

만약 "providerResponse": "Endpoint is disabled" 값이 실패한 전송 로그에 표시되는 경우 디바이스의 관련 플랫폼 엔드포인트가 비활성화됩니다. 이 문제를 해결하려면 푸시 알림 엔드포인트가 활성화되지 않는 이유는 무엇인가요?를 참조하세요.

자세한 내용은 잘못된 디바이스 토큰과 연결된 플랫폼 엔드포인트 재시작을 참조하세요.

FCM에서 직접 알림을 받을 수 있는지 확인

문제가 Amazon SNS 엔드포인트 측인지 클라이언트 애플리케이션 측인지 확인하려면 FCM 콘솔에서 테스트 메시지를 보내세요. 안내는 Firebase 웹사이트에서 테스트 알림 메시지 보내기를 참조하세요.

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

FCM은 알림 메시지와 데이터 메시지를 지원합니다. FCM SDK는 알림 메시지를 자동으로 처리합니다. 클라이언트 앱은 데이터 메시지를 처리합니다. 자세한 내용은 Firebase 웹사이트의 메시지 유형을 참조하세요. 플랫폼별 메시지 전송도 참조하세요.

클라이언트 앱에서 메시지 데이터를 처리하기 위한 데이터 키 설정

데이터 페이로드를 클라이언트 앱에 보내려면 사용자 지정 키 값 쌍으로 데이터 키를 설정해야 합니다. 자세한 내용은 Firebase 웹사이트의 데이터 메시지를 참조하세요.

FCM SDK를 사용하여 클라이언트 앱에 알림 표시

알림 메시지에 대해 미리 정의된 키 값 옵션 세트와 함께 알림 키를 사용해야 합니다. 자세한 내용은 Firebase 웹사이트의 알림 메시지를 참조하세요.

푸시 알림 오류 응답 코드 식별 및 문제 해결

다음 단계를 완료하세요.

  1. 전송 상태 로그에서 실패한 푸시 알림 전송(“status” "FAILURE")을 확인하세요.
  2. 실패한 푸시 알림 전송 로그에서 다른 플랫폼 응답 코드를 확인하세요.
  3. Firebase 웹사이트의 다운스트림 메시지 오류 응답 코드 섹션에 있는 코드에 나열된 권장 조치를 따르세요.

FCM 오류 코드 및 문제 해결 모범 사례에 대한 자세한 내용은 Firebase 웹사이트의 ErrorCode를 참조하세요.

성공적으로 전송되었다고 표시되지만 메시지가 디바이스에 표시되지 않는 메시지 문제 해결

디바이스가 알림을 받지 못했거나 시스템 알림 트레이에 알림이 표시되지 않습니다. 원인을 확인하려면 애플리케이션의 메시지 핸들러에 로그 문을 포함하세요.

메시지가 알림 페이로드로 수신되지만 데이터 페이로드로는 수신되지 않는 경우 클라이언트 애플리케이션 코드에서 메시지 핸들러를 검토하세요. 클라이언트의 애플리케이션 코드만 데이터 알림을 처리합니다. 알림이 시스템의 알림 트레이에 푸시되었는지 확인합니다.

자세한 내용은 Firebase 웹사이트에서 메시지 처리를 참조하세요.

Android 기기 문제 해결

Android 기기의 경우 FCM Android 진단 페이지를 사용하여 전송 상태를 확인하고 추가로 문제를 해결하세요. FCM 진단 페이지를 열려면 Google 다이얼러에서 *#*#426#*#*로 전화를 걸면 됩니다. 자세한 내용은 Firebase 웹사이트의 FCM Android 진단을 참조하세요.

관련 정보

Amazon SNS에서 푸시 알림을 위한 Android 플랫폼 애플리케이션을 생성하려면 어떻게 해야 합니까?

CloudWatch를 사용한 Amazon SNS 주제 모니터링

모바일 푸시 알림

AWS CLI를 사용하여 Amazon SNS에서 푸시 알림을 전송하기 위한 APN 플랫폼 애플리케이션을 생성하려면 어떻게 해야 하나요?

AWS 공식
AWS 공식업데이트됨 8달 전