Bonjour, ma fonction cloud Firebase est appelée plusieurs fois lorsque je ne vérifie pas si previous.exists(). Je reçois plusieurs notifications push.
if (!event.data.exists()){
return;
}
if (event.data.previous.exists()){
return;
}
Mais lorsque je vérifie, je ne reçois pas de notification push. Voici le code qui ne fonctionne pas: Que dois-je changer?
exports.sendShoppingListInvitationNotification = functions.database.ref('/invites/{id}/').onWrite(event => {
//obtenir l'instantané des données écrites
const snapshot = event.data;
if (!event.data.exists()){
return;
}
if (event.data.previous.exists()){
return;
}
//obtenir les valeurs de l'instantané
console.log(snapshot.key);
const receiptToken = snapshot.child('receiptFcmToken').val();
const senderName = snapshot.child('senderNickname').val();
const inviteMessage = snapshot.child('inviteMessage').val();
const senderImage = snapshot.child('senderProfileImageURL').val();
//créer une notification
const payload = {
notification: {
title: `Invitation de ${senderName}`,
body: `${inviteMessage}`,
icon: `${senderImage}`,
badge: '1',
sound: 'default',
}
};
//envoyer une notification au token des amis
return admin.messaging().sendToDevice(receiptToken, payload).then(response => {
console.log("Message envoyé avec succès :", response);
}).catch((err) => {
console.log(err);
});
});
Je ne reçois pas de message d'erreur sur la console cloud.