FCM을 파이어베이스에서 보낸다는 글들의 대부분의 경우 테스트 용도로 파이어베이스 콘솔에서 보내는 글들일 경우가 많습니다. 콘솔의 경우 테스트용도로 편하게 만들어 놓은 부분일뿐 실제로 운영하는 서비스에서는 다른방법을 쓰셔야 합니다. 아래 두가지 방법중 하나가 되겠지요.
1. Admin 모듈을 사용하여 FCM전송 함수 호출 활용.
2. Https Post요청으로 파이어베이스 메시징 서버쪽으로 요청하여 전송.
(1번의 경우, 2번의 기능들을 모듈화해서 개발자들이 편하게 사용하도록 만든거라 보시면됩니다.)
여기서 서버가 필요합니다. 서버를 직접 구축하셨는지, 아니면 파이어베이스 실시간데이터베이스만 사용중이신 것인지 잘 모르겠지만 전자와 후자의 경우 조금 다른 방식이겠습니다. 두 경우 모두 공통적으로 서비스를 이용하는 사용자들의 디바이스토큰은 db에 저장이 되어있어야 한다는것은 당연한 것이겠지요.
서버직접구축한 경우 : 서버에서 게시글 댓글 작성을 요청하는 부분이 있을 것입니다. 그부분에서 db저장 성공에 대한 응답을 받으면 db에서 게시글의 작성자의 디바이스 토큰값을 조회한 뒤, 위의 1번 혹은 2번을 이용하여 해당 사용자의 기기에 FCM 메시지를 전송합니다.
파이어베이스 사용한 경우 : 이 경우 Functions 서비스를 사용하셔야 합니다. Functions에는 파이어베이스 실시간 데이터베이스의 CRUD이벤트를 감지하는 함수들이 제공됩니다. 댓글 작성 이벤트를 감지하면 위와 동일한 로직으로 사용자의 기기에 FCM 메시지를 전송합니다.