Mobile의 flutter push Notifircation 참고
const schedule = require('node-schedule');
const admin = require('firebase-admin');
var serviceAccount = require("{firebase 콘솔에서 받은 server용 json파일}");
var certPath = admin.credential.cert(serviceAccount)
admin.initializeApp({
credential : certPath
});
//알림 보내기 1분마다 동작하는 스케줄링 코드
schedule.scheduleJob(' */1 * * * *', function () {
//...
//원하는 로직.....
notificationHandler(when, token )
})
// 내 서버 예시로 자신의 알림 로직에 맞게 변경해야함
function notificationHandler(when, token){
//...
//원하는 로직.....
console.log("send")
sendPushNotification(token, "제목", "내용");
}
function sendPushNotification(target_token, title, body) {
//target_token은 푸시 메시지를 받을 디바이스의 토큰값입니다
let message = {
notification: {
title: title,
body: body,
},
data: {
route: 'main' // flutter 환경에서 알림 클릭시 라우팅 해주기 위한 데이터 없어도 됨
},
android:{
priority:"high",
notification: {
channelId: //firebase Channel ID(android_channel_id)
}
},
token: target_token,
apns: {
payload: {
aps: {// 얘네는 IOS 설정인데 웬만하면 유지하되 잘 찾아보고 설정하는 것을 추천한다.
badge: 2.0,
"apns-priority": 5,
sound: 'default'
},
},
},
}
admin.messaging().send(message)
.then(()=> {
console.log("success");
})
}
JavaScript
복사