[javascript] Express.js에서의 FCM 푸시 알림 구현 방법

Firebase Cloud Messaging(FMC)은 웹 및 모바일 애플리케이션으로 푸시 알림을 전송하기 위한 강력한 도구입니다. Express.js를 사용하는 경우, FCM 푸시 알림을 손쉽게 구현할 수 있습니다. 이번 블로그에서는 Express.js에서 FCM 푸시 알림을 구현하는 방법에 대해 알아보겠습니다.

1. FCM 설정하기

먼저, Firebase 프로젝트에서 FCM을 설정해야 합니다. Firebase 콘솔에서 프로젝트를 생성하고, FCM을 활성화합니다. 그런 다음, 서비스 계정 키를 생성하여 다운로드합니다. 이 키를 통해 Express.js 애플리케이션에서 FCM에 접근할 수 있습니다.

2. 프로젝트 설정하기

Express.js 애플리케이션 폴더에서 다음과 같이 필요한 모듈을 설치합니다:

npm install firebase-admin express

3. Express.js 앱에 FCM 구성하기

아래 코드는 Express.js 애플리케이션에 FCM을 구성하는 예시입니다. 다음 코드를 app.js 파일에 추가합니다:

const express = require('express');
const admin = require('firebase-admin');
const app = express();

// FCM 초기화
admin.initializeApp({
  credential: admin.credential.cert('path/to/serviceAccountKey.json'),
  databaseURL: 'https://your-project-id.firebaseio.com'
});

// 푸시 알림 보내기
app.get('/send-push-notification', (req, res) => {
  const message = {
    data: {
      title: 'FCM Push Notification',
      body: 'This is a test message from FCM'
    },
    tokens: ['device-token']
  };

  admin.messaging().sendMulticast(message)
    .then((response) => {
      console.log('Push notification sent successfully:', response);
      res.send('Push notification sent successfully');
    })
    .catch((error) => {
      console.log('Error sending push notification:', error);
      res.status(500).send('Error sending push notification');
    });
});

// Express.js 앱 시작
app.listen(3000, () => {
  console.log('Express.js app listening on port 3000');
});

위 코드에서 path/to/serviceAccountKey.json은 Firebase 콘솔에서 다운로드한 서비스 계정 키 파일의 경로로 대체되어야 합니다. device-token은 FCM을 받을 디바이스의 토큰으로 대체되어야 합니다.

4. Express.js 앱 실행하기

Express.js 애플리케이션을 실행하기 위해 다음 명령을 실행합니다:

node app.js

앱이 성공적으로 실행되면, /send-push-notification 경로로 GET 요청을 보내면 FCM 푸시 알림이 전송됩니다.

결론

이제 Express.js에서 FCM 푸시 알림을 구현하는 방법에 대해 알아보았습니다. FCM은 사용자에게 중요한 정보를 빠르게 전달하기 위한 강력한 도구이므로, Express.js 프로젝트에서 적절하게 활용할 수 있을 것입니다. 따라서 Express.js 앱에 FCM을 통합하여 사용자 경험을 향상시킬 수 있습니다.

더 자세한 내용은 Firebase 공식 문서를 참조하시기 바랍니다.