서버 환경 및 FCM

Firebase Cloud Messaging의 서버 측은 다음 두 가지 구성요소로 구성됩니다.

  • Google에서 제공하는 FCM 백엔드
  • 서버 로직이 실행되는 앱 서버 또는 다른 신뢰할 수 있는 서버 환경(예: Google에서 관리하는 Firebase용 Cloud Functions 또는 다른 클라우드 환경)

앱 서버 또는 신뢰할 수 있는 서버 환경에서 FCM에 메시지 요청을 보냅니다. 사용자의 기기에서 실행되는 클라이언트 앱에 메시지를 기기에서 사용할 수 있습니다.

신뢰할 수 있는 서버 환경의 요구사항

앱 서버 환경은 다음 기준을 충족해야 합니다.

  • FCM 백엔드에 올바르게 형식이 지정된 메시지 요청을 보낼 수 있습니다.
  • 지수 백오프를 사용하여 요청을 처리하고 다시 보낼 수 있습니다.
  • 서버 승인 사용자 인증 정보와 클라이언트 등록 토큰을 안전하게 저장할 수 있습니다.

서버 옵션 선택

FCM 서버와 상호작용할 방법을 결정해야 합니다. Firebase Admin SDK 또는 원시 프로토콜 널리 사용되는 프로그래밍 언어 전반에 걸친 지원과 프로그래밍 언어를 편리하게 하는 인증 및 승인을 처리하는 경우 Firebase Admin SDK를 사용하는 것이 좋습니다.

FCM 서버와 상호작용하는 옵션은 다음과 같습니다.

FCMFirebase Admin SDK

Admin FCM API는 백엔드 인증을 처리하고 메시지 보내기와 주제 구독 관리를 지원합니다. Firebase Admin SDK를 사용하면 다음 작업을 할 수 있습니다.

  • 개별 기기에 메시지 보내기
  • 주제 및 하나 이상의 일치하는 조건문에 메시지 보내기
  • 기기에서 주제 구독 및 구독 취소
  • 다양한 타겟 플랫폼에 맞는 메시지 페이로드 구성

Admin Node.js SDK는 기기 그룹에 메시지를 보내는 메서드를 제공합니다.

Firebase Admin SDK를 설정하려면 서버에 Firebase Admin SDK 추가를 참고하세요. Firebase 프로젝트가 이미 있다면 SDK 추가부터 시작합니다. 또한 Cloud Messaging API를 클라우드 메시징 설정 페이지 사용할 수 있습니다 Firebase Admin SDK가 설치되면 다음 위치에 로직 작성을 시작할 수 있습니다. 전송 요청 작성

FCM 서버 프로토콜

FCM FCM HTTP v1 API는 원시 서버 프로토콜을 선호하는 개발자를 위한 것입니다.

메시지를 보내려면 앱 서버에서 JSON 키-값 쌍으로 구성된 HTTP 헤더와 HTTP 본문을 포함하는 POST 요청을 만듭니다. 헤더 및 본문의 옵션에 관한 자세한 내용은 앱 서버 보내기 요청 작성을 참조하세요.