Я хочу отправить уведомление нескольким пользователям через Firebase Cloud Function на его / ее день рождения. У меня есть идентификатор токена устройства пользователя и дата рождения (как дата) в базе данных. Я проверил некоторый скрипт на stackoverflow, но это бесполезно, потому что дата рождения и сегодня имеют только dd / MM похожи. Год всегда разный.
Я пробовал это ( Как вызвать функцию, когда дата, хранящаяся в базе данных firestore, является текущей датой? ), но не работает.
const functions = require('firebase-functions');
const admin = require('firebase-admin');
const cors = require('cors')({ origin: true });
const moment = require('moment');
admin.initializeApp();
exports.sendDailyNotifications = functions.https.onRequest((request, response) => {
cors(request, response, () => {
const now = moment();
const dateFormatted = now.format('DDMMYYYY');
admin.firestore()
.collection("userCollection").where("birthDate", "==", dateFormatted)
.get()
.then(function(querySnapshot) {
const promises = [];
querySnapshot.forEach(doc => {
const tokenId = doc.data().tokenId;
const notificationContent = {
notification: {
title: "...",
body: "...",
icon: "default",
sound : "default"
}
};
promises
.push(admin.messaging().sendToDevice(tokenId, notificationContent));
});
return Promise.all(promises);
})
.then(results => {
response.send(data)
})
.catch(error => {
console.log(error)
response.status(500).send(error)
});
});
});
Я хочу активировать эту функцию в день рождения пользователя. Пожалуйста, помогите мне. Заранее спасибо.