티스토리 뷰

반응형

 

Node.js 서버에서 Firebase Cloud Messaging(FCM)을 이용한 푸시 알림 보내는 방법


Firebase Cloud Messaging(FCM)은 Google에서 제공하는 모바일 및 웹 애플리케이션에 대한 메시지 전송 서비스입니다. 이 서비스를 사용하면 서버에서 모바일 기기 또는 브라우저에 푸시 알림을 보낼 수 있습니다. Node.js 서버에서 FCM을 사용하여 푸시 알림을 보내는 방법에 대해 알아보겠습니다.

1. Firebase 프로젝트 생성 및 설정
우선 Firebase 콘솔에서 새 프로젝트를 생성합니다. 그런 다음, 애플리케이션 등록 단계에서 Android, iOS 또는 웹 애플리케이션을 선택하고 해당 애플리케이션에 대한 설정을 완료합니다. 이 단계에서 FCM 서버 키를 생성하고 기록해 두는 것이 중요합니다.


2. FCM 모듈 설치
Node.js에서 FCM을 사용하기 위해서는 먼저 FCM 모듈을 설치해야 합니다. 이를 위해 npm을 사용하여 다음과 같이 명령을 실행합니다.

npm install fcm-node



3. Node.js 서버에서 FCM 모듈 사용하기
FCM 모듈을 설치한 후, Node.js 서버에서 해당 모듈을 사용하여 푸시 알림을 보낼 수 있습니다. 다음은 FCM 모듈을 사용하여 푸시 알림을 보내는 코드의 예입니다.

const FCM = require('fcm-node');
const serverKey = 'FCM 서버 키';

const fcm = new FCM(serverKey);

const message = {
  to: '디바이스 등록 토큰',
  notification: {
    title: '제목',
    body: '내용'
  }
};

fcm.send(message, (err, response) => {
  if (err) {
    console.log('Error: ', err);
  } else {
    console.log('Response: ', response);
  }
});



위 코드에서는 FCM 모듈을 불러오고, FCM 서버 키를 사용하여 FCM 객체를 만듭니다. 그런 다음 푸시 알림 메시지를 작성하고, to 속성에는 디바이스 등록 토큰을, notification 속성에는 푸시 알림에 표시될 제목과 내용을 입력합니다. 마지막으로 fcm.send() 메서드를 호출하여 메시지를 전송합니다.

4. 서버에서 푸시 알림 보내기
실제로 푸시 알림을 보내려면 위 코드를 서버의 적절한 위치에서 호출하면 됩니다. 예를 들어, Express 프레임워크를 사용하는 경우 다음과 같이 라우터에 코드를 추가할 수 있습니다.

const express = require('express');
const router = express.Router();
const FCM = require('fcm-node');
const serverKey = 'FCM 서버 키';

const fcm = new FCM(serverKey);

router.post('/send-push-notification', (req, res) => {
  const { deviceToken, title, body } = req.body;

  const message = {
    to: deviceToken,
    notification: {
      title,
      body
    }
  };

  fcm.send(message, (err, response) => {
    if (err) {
      console.log('Error: ', err);
      res.status(500).send('Error sending push notification');
    } else {
      console.log('Response: ', response);
      res.status(200).send('Push notification sent successfully');
    }
  });
});

module.exports = router;



위 코드에서는 /send-push-notification 경로에 POST 요청이 들어오면 deviceToken, title, body 파라미터를 추출하고, 이를 사용하여 FCM 메시지를 작성합니다. 그런 다음 fcm.send() 메서드를 호출하여 메시지를 전송하고, 성공 또는 실패에 따라 적절한 HTTP 응답을 반환합니다.


5. 푸시 알림 테스트
푸시 알림을 보내기 전에는 푸시 알림을 테스트해야 합니다. 이를 위해 Android 또는 iOS 디바이스에서 앱을 실행하고, FCM 등록 토큰을 로그로 출력하거나 디버그 도구를 사용하여 확인합니다. 그런 다음, Node.js 서버에서 해당 등록 토큰으로 푸시 알림을 보내고, 디바이스에서 알림이 제대로 수신되는지 확인합니다.


이상으로 Node.js 서버에서 FCM을 이용하여 푸시 알림을 보내는 방법에 대해 알아보았습니다. FCM을 사용하면 서버에서 간편하게 모바일 기기 또는 브라우저에 푸시 알림을 보낼 수 있습니다.

반응형
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/07   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31
글 보관함