마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

FCM이용한 댓글 작성 시 알림 푸시 하는 방법

0 추천
FCM으로 댓글 알림을 만드려고 열심히 찾고있는데 왠만한 글들이 다 파이어베이스랑 연동해서 파이어베이스에서 보내면 전체한테 알림이 가는것밖에 없어서 그런데 저는 댓글이 달리면 글주인한테 댓글이 생겼다는 알림을 주고 싶은데 그런 예시라던지 정보가 되는 글  없을까요?

토큰을 이용해서 해당 토큰에게 푸시하면 된다는거같은데 정보찾기가 힘듭니다.
nagada32 (290 포인트) 님이 2021년 5월 4일 질문

2개의 답변

0 추천
FCM을 파이어베이스에서 보낸다는 글들의 대부분의 경우 테스트 용도로 파이어베이스 콘솔에서 보내는 글들일 경우가 많습니다. 콘솔의 경우 테스트용도로 편하게 만들어 놓은 부분일뿐 실제로 운영하는 서비스에서는 다른방법을 쓰셔야 합니다. 아래 두가지 방법중 하나가 되겠지요.

1. Admin 모듈을 사용하여 FCM전송 함수 호출 활용.

2. Https Post요청으로 파이어베이스 메시징 서버쪽으로 요청하여 전송.

(1번의 경우, 2번의 기능들을 모듈화해서 개발자들이 편하게 사용하도록 만든거라 보시면됩니다.)

 

여기서 서버가 필요합니다. 서버를 직접 구축하셨는지, 아니면 파이어베이스 실시간데이터베이스만 사용중이신 것인지 잘 모르겠지만 전자와 후자의 경우 조금 다른 방식이겠습니다. 두 경우 모두 공통적으로 서비스를 이용하는 사용자들의 디바이스토큰은 db에 저장이 되어있어야 한다는것은 당연한 것이겠지요.

서버직접구축한 경우 : 서버에서 게시글 댓글 작성을 요청하는 부분이 있을 것입니다. 그부분에서 db저장 성공에 대한 응답을 받으면 db에서 게시글의 작성자의 디바이스 토큰값을 조회한 뒤, 위의 1번 혹은 2번을 이용하여 해당 사용자의 기기에 FCM 메시지를 전송합니다.

파이어베이스 사용한 경우 : 이 경우 Functions 서비스를 사용하셔야 합니다. Functions에는 파이어베이스 실시간 데이터베이스의 CRUD이벤트를 감지하는 함수들이 제공됩니다. 댓글 작성 이벤트를 감지하면 위와 동일한 로직으로 사용자의 기기에 FCM 메시지를 전송합니다.
익명사용자 님이 2021년 5월 7일 답변
0 추천

별도의 서버를 구축하기 곤란하다면 Firebase Clound Function이란 걸 사용해 보실 수 있을 것 같아요. 이게 서버역할을 대신하는 건데, 여기에 코드를 구현함으로써 님이 원하시는 기능이 가능할 것으로 보이네요.

https://medium.com/firebase-developers/build-a-transactional-push-notifications-system-using-only-firebase-2b792bb25a60

위의 블로그에 보시면 어떻게 구현하는지 나와 있습니다.

spark (226,420 포인트) 님이 2021년 5월 16일 답변
...