【发布时间】:2018-09-19 16:13:43
【问题描述】:
我已尝试使用 Firebase 云功能发送通知。我的项目结构
这是 index.js,
const functions = require('firebase-functions');
const admin = require('firebase-admin');
admin.initializeApp();
exports.pushNotification = functions.database.ref('/messages').onWrite( event => {
console.log('Push notification event triggered');
const message = event.data.val();
const user = event.data.val();
console.log(message);
console.log(user);
const topic = "myTopic";
const payload = {
"data": {
"title": "New Message from " + user,
"detail":message,
}
};
return admin.messaging().sendToTopic(topic, payload);
});
以上代码配置错误,我在Node.js中部署时,LOG in Function显示:
“TypeError: 无法读取未定义的属性 'val'”。
实际上我正在尝试做什么: 我正在尝试从快照加载中提取信息到 index.js 中,这样当一个新的孩子被添加到实时数据库时,它应该触发一个带有标题和正文的通知负载。
在 Android 中,我使用子侦听器,用于在添加新记录时进行侦听
FirebaseDatabase.getInstance().getReference().child("messages")
OnChildAdded(.....){
if (dataSnapshot != null) {
MessageModel messageModel = dataSnapshot.getValue(MessageModel.class);
if (messageModel != null) {
// do whatever
}
}
但在 index.js 中,我无法解析它。 非常感谢根据我的数据库结构修复 index.js 的一些指导。 PS-我从来没有用JS写过代码 如果您需要更多上下文,我很乐意提供。
【问题讨论】:
标签: javascript node.js firebase firebase-realtime-database google-cloud-functions