기타
FCM 메시지 전송 규칙(서버 - 앱)
마샤와 곰
2023. 10. 20. 16:11
서버에서 앱에게 FCM 메시지를 보내기 위해 구글링을 하면 만나는 일반적인 메시지 형태 입니다.
const message = {
data: {
score: '850',
time: '2:45'
},
token: registrationToken
};
메시지를 보낼 때 전송할 data 필드와 fcm 토큰값을 넣어서 보내도록 되어 있습니다.
해당 코드는 물론 잘 동작하는데..
안드로이드에서만 오직 동작을 합니다.
IOS는 해당 메시지 규격으로 아무리 전송을 눌러도 보내어지지 않습니다. * 2023-10-20 기준
이를 해결하기 위한 답은 Firebase 공식 사이트에서나온 메시지 전송규칙을 잘 보아야 합니다.
https://firebase.google.com/docs/cloud-messaging/send-message?hl=ko#send-a-batch-of-messages
사이트를 들어가서 설명을 읽다가 중간쯤에 "일괄 메시지 전송" 이라는 내용을 볼 수 있습니다.
해당 메시지 규칙을 적용 하려면 data 필드가 아니라 notification 필드를 사용해야 합니다.
const messages = {
notification: { title: '메시지타이틀', body: '내용, 오직 문자형태만 허용' },
token: registrationToken,
};
요렇게 형태를 바꾸어주면 IOS에서도 FCM 메시지를 잘 받을 수 있습니다.
구글링보다 중요한건 역시 공식 DOC인 듯 합니다
반응형