반응형
firebase-amin 라이브러리를 이용하여
fcm 메세지를 보내는 api 를 만들어보자.
const express = require('express');
const path = require('path');
const bodyParser = require('body-parser');
const admin = require('firebase-admin');
// Firebase Admin SDK 초기화
const serviceAccount = require('./serviceAccountKey.json'); // Firebase 서비스 계정 JSON 파일
admin.initializeApp({
credential: admin.credential.cert(serviceAccount),
});
exports.sendFcm = async (req, res, next) => {
const { token, title, body } = req.body;
console.log(token);
console.log(title);
console.log(body);
console.log(serviceAccount);
const message = {
token: token,
notification: {
title: title,
body: body,
},
};
try {
const response = await admin.messaging().send(message);
console.log('Successfully sent message:', response);
res.status(200).send('Message sent successfully');
} catch (error) {
console.error('Error sending message:', error);
res.status(500).send('Error sending message');
}
}
serviceAccountKey.json 파일은 Firebase 내 어플리케이션에서 프로젝트 설정으로 들어간다.
서비스 계정 - Node.js - 새 비공개 키 생성
해당 파일의 이름을 변경하여 서버에 넣어준다.
클라이언트에서 보내는 부분은 아래를 참고하자.
'NodeJS' 카테고리의 다른 글
[NodeJS] Node + express api server (노드 + 익스프레스 API 서버 만들기) (1) | 2024.09.06 |
---|---|
[Node] 'process.env' only accepts a configurable, writable, and enumerable data descriptor (0) | 2024.09.03 |