Я использую приведенный ниже код для уведомлений в чате, он выполняется успешно, но дважды выполняет уведомление для одного и того же события, которое должно произойти только один раз для одного события. Могу ли я узнать, что я делаю неправильно в приведенном ниже коде для облачной функции firebase, реализованной с базой данных firestore в приложении flutter
exports.sendNotification = functions.firestore.document("messageRoom/{message_room_id}/messages/{messageID}").onWrite((change, context) => {
const idTo = context.params.idTo;
const message_room_id = context.params.message_room_id;
const messageID = context.params.messageID;
return admin.firestore().collection('messageRoom').doc(message_room_id).collection('messages').doc(messageID).get().then(queryResult => {
const idFrom = queryResult.data().idFrom;
const to_token_id = queryResult.data().to_token_id;
const idTo = queryResult.data().idTo;
console.log("User id " + idTo + " | Notification id " + "notification_id" + " | Token ID is : " + to_token_id + " | from user id " + idFrom);
var payload = {
notification: {
title: 'Chat Message',
body: "New Message",
icon: 'default',
sound: 'default'
},
data: {
click_action: 'FLUTTER_NOTIFICATION_CLICK',
groupChatId: messageID,
category: 'default'
}
};
return admin.messaging().sendToDevice(to_token_id, payload).then(result => {
console.log("Notification Sent chat notification");
return null;
});
}
);
});