상세 컨텐츠

본문 제목

FCM 메세지 유형 /셋팅(firebase cloud messaging)중 앱에서 작성,fcm중계되어서 수신앱에 도착

firebase

by carecat 2025. 6. 26. 12:13

본문

반응형

1.무엇인가?

  플랫폼에 종속되지 않고 FCM 푸시 메세지 전송을 가능하게함./단말기 등록 토큰으로 통신함

  등록된 토큰 단말기 통신,또는 topic(주제구독) 활용가능함.

 

2.FCM메세지 정보  출처: https://firebase.google.com/docs/cloud-messaging/concept-options?hl=ko&_gl=1*1sichrc*_up*MQ..*_ga*MTQxNDQzNjY0Ny4xNzUxNTE3NzAw*_ga_CW55HF8NVT*czE3NTE1MTc2OTkkbzEkZzAkdDE3NTE1MTc2OTkkajYwJGwwJGgw

 

  2가지 형태가 제공됩니다.

   -알림 메세지

{
  "message":{
    "token":"bk3RNwTe3H0:CI2k_HHwgIpoDKCIZvvDMExUdFQ3P1...",
    "notification":{
      "title":"Portugal vs. Denmark",
      "body":"great match!"
    }
  }
}

  => 제목이 "  'Portugal vs. Denmark" ,  본문이 'great match!' 형식으로 전송

   

알림메세지의 json 포맷 형태

{
  "title": string,
  "body": string,
  "image": string
}

   알림메세지의 AndroidNotification 수신용포맷(옵션사항)

  https://firebase.google.com/docs/reference/fcm/rest/v1/projects.messages?hl=ko&_gl=1*mv06og*_up*MQ..*_ga*MTQxNDQzNjY0Ny4xNzUxNTE3NzAw*_ga_CW55HF8NVT*czE3NTE1MTc2OTkkbzEkZzAkdDE3NTE1MTc3NzEkajYwJGwwJGgw#Notification

 

REST Resource: projects.messages  |  Firebase Cloud Messaging REST API

 

firebase.google.com

 

 -데이터 메세지 : 클라이언트 앱에서 처리, data 키가 존재

{
  "message":{
    "token":"bk3RNwTe3H0:CI2k_HHwgIpoDKCIZvvDMExUdFQ3P1...",
    "data":{
      "Nick" : "Mario",
      "body" : "great match!",
      "Room" : "PortugalVSDenmark"
    }
  }
}

 "data"

map (key: string, value: string)

입력 전용입니다. 임의의 키/값 페이로드로, UTF-8로 인코딩되어야 합니다. 키는 예약어('google.' 또는 'gcm.notification'으로 시작하는 모든 단어 또는 'from', 'message_type')여서는 안 됩니다. 데이터 필드만 포함된 페이로드를 iOS 기기로 전송할 때는 ApnsConfig에서 보통 우선순위 ("apns-priority": "5")만 허용됩니다.

"key": value 쌍 목록을 포함하는 객체입니다. 예: { "name": "wrench", "mass": "1.3kg", "count": "3" }

 

 

 

 -선택사항인 데이타 페이로드(순수 데이타)가 포함된 알림메세지

{
  "message":{
    "token":"bk3RNwTe3H0:CI2k_HHwgIpoDKCIZvvDMExUdFQ3P1...",
    "notification":{
      "title":"Portugal vs. Denmark",
      "body":"great match!"
    },
    "data" : {
      "Nick" : "Mario",
      "Room" : "PortugalVSDenmark"
    }
  }
}

 

 

 2. 흐름도식화. (발신앱에서 전송하는 경우)

 

               2-1.발신앱 코드

 

               2-2.서버셋팅

                    cloud function 서버에 트리거를 생성해서 배포한다. ( 특정 도큐먼트 생성시 알림문자 발송)

 

               2-3.수신앱 코드 

                    -구글 콘솔에 프로젝트 생성

                    -플러터 프로젝트에서 firebase_CLI (firebase login -> npm install -g firebase-tools -> firebase init 

                      ->fultterfire configure 프로젝트 -> firebase-messaging 패키지 임포트 (*yaml) 추가 환경설정필요

                      ->플러터 코딩(퍼미션확인,메세지 수신시 처리(포그라운드,백그라운드,앱이 종료된상태)

 

             참고사이트:  Set up a Firebase Cloud Messaging client app on Flutter

반응형

관련글 더보기