Javascript 使用firebase云函数从firebase发送推送通知
我通过以下方式发送推送通知:Javascript 使用firebase云函数从firebase发送推送通知,javascript,node.js,firebase,firebase-realtime-database,firebase-cloud-messaging,Javascript,Node.js,Firebase,Firebase Realtime Database,Firebase Cloud Messaging,我通过以下方式发送推送通知: exports.sendPushNotification = functions.database.ref('/chat_rooms/{id}').onWrite(event => { console.log(event); const original = event.data.val(); const reciverId = original['receiverID']; const text = original['text']; const sen
exports.sendPushNotification =
functions.database.ref('/chat_rooms/{id}').onWrite(event => {
console.log(event);
const original = event.data.val();
const reciverId = original['receiverID'];
const text = original['text'];
const senderName = original['senderName'];
var path = 'fcmToken/' + reciverId;
const payload = {
notification: {
title :senderName,
body: text,
badge:'7',
sound:'default',
}
};
return admin.database().ref(path).once('value').then(allToken => {
if (allToken.val()){
var firebaseReceiverID = allToken.val();
var firebaseToken = firebaseReceiverID['firebaseToken'];
return admin.messaging().sendToDevice(firebaseToken,payload).then(response => {
});
};
});
});
我的firebase数据库结构如下所示:
如何在聊天室下添加任何子项时发送推送(以检测路径)
onWrite
是一个数据库触发器,因此每次在指定位置下添加数据时,都会触发推送
现在,如果要获取id,可以执行以下操作:
export.sendPushNotification=functions.database.ref('/chat_rooms/{PerticularChatRoomid}/{id}').onWrite(event => {
console.log(event);
const chatroomid=event.params.PerticularChatRoomid;
}
这样,您就可以从数据库中获取聊天室ID
要获取通配符{id}
的值,请始终使用event.params
此链接中的更多信息:
onWrite
是一个数据库触发器,因此每次在指定的位置下添加数据时,都会触发该触发器
现在,如果要获取id,可以执行以下操作:
export.sendPushNotification=functions.database.ref('/chat_rooms/{PerticularChatRoomid}/{id}').onWrite(event => {
console.log(event);
const chatroomid=event.params.PerticularChatRoomid;
}
这样,您就可以从数据库中获取聊天室ID
要获取通配符{id}
的值,请始终使用event.params
此链接中的更多信息:是否正在发送当前推送通知?你在这里得到了什么
console.log(事件)代码>?当添加新聊天室时,它会执行,否则它不会执行。我想在聊天室添加消息时执行。是的,这是正确的,那么问题出在哪里?这就是onWrite的目的,当在该位置添加任何内容时,它会被触发。msg在数据库中的什么位置?嗨,彼得,谢谢,问题是如何在聊天室I thin下添加最新的msg。结构应该是这样的函数。database.ref('/chat_rooms/{Perticular chat rooms id}/{id}')。onWrite(event=>{}这里如何获取添加msg的聊天室id。functions.database.ref('/chat_rooms/{聊天室_id}/{id}').onWrite(event=>{}这里是特定的聊天室id如何获取当前发送的推送通知?您在这里获取什么console.log(event)
?当添加新聊天室时,它会执行,否则它不会执行。我想在聊天室添加msg时执行。是的,这是正确的,那么问题是什么?这就是onWrite的目的。当在该位置添加任何内容时,它会被触发。msg在数据库中的什么位置?嗨,彼得,谢谢,问题是如何获取最新的消息在聊天室I thin下添加的Tmsg结构应该如下所示:functions.database.ref('/chat_-rooms/{perticularchatrooms\u-id}/{id}').onWrite(event=>{}这里如何获取添加了msg的perticularchatroomid函数。database.ref('/chat_-rooms/{perticularchatrooms\u-id})/{id}').onWrite(event=>{}这里是特定的聊天室id如何获取它