我只安装了npm,一切正常 并部署了我的index.js文件,我在Firebase函数中看到了它 但是当我运行我的应用程序并尝试向用户发送通知时,我在“日志”选项卡中什么也没有看到。 在数据库云存储区中,我看到消息……有人可以给我解释一下吗?谢谢 这是我的index.js cose
'use-strict'
const functions = require('firebase-functions');
const admin = require('firebase-admin');
exports.sendNotification = functions.firestore.document("Users/{user_id}/Notifications/{notification_id}").onWrite((change,context)=> {
const user_id = context.params.user_id;
const notification_id = context.params.notification_id;
return console.log("User ID : " + user_id + " | Notification ID : " + notification_id);
});
**已编辑 我正在开发一个简单的应用程序,您可以看到所有注册到该应用程序的用户,然后可以选择其中一个并向他发送消息。 我希望用户会收到一条通知消息,这不是完成的代码,但是我正在使用Turotial,他显示出当他发送消息时,它在功能日志中的写东西,而我看不到。 this is my firebase database
答案 0 :(得分:1)
不要return
到console.log
,我怀疑调用位置要么不知道如何处理console.log,要么不在范围内,并且无权写入日志。
尝试一下:
'use-strict'
const functions = require('firebase-functions');
const admin = require('firebase-admin');
exports.sendNotification = functions.firestore.document("Users/{user_id}/Notifications/{notification_id}").onWrite((change,context)=> {
const user_id = context.params.user_id;
const notification_id = context.params.notification_id;
console.log("User ID : " + user_id + " | Notification ID : " + notification_id);
return;
});
编辑::
好抓住J.Doe!这是返回承诺而不是无效的代码...
此外,由于您已将数据库结构添加到问题中,所以我注意到FB中的节点是单数形式的“ Notification ”,因为触发器使用复数形式的“ Notifications ” < / p>
exports.sendNotification = functions.firestore.document("Users/{user_id}/Notification/{notification_id}").onWrite((change,context)=> {
return new Promise( (resolve, reject) => {
const user_id = context.params.user_id;
const notification_id = context.params.notification_id;
console.log("User ID : " + user_id + " | Notification ID : " + notification_id);
resolve();
});
});