Firebase功能日志什么也不显示

时间:2018-08-30 12:35:55

标签: android firebase google-cloud-firestore google-cloud-functions

我只安装了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

this is my firebase database2

and this is my firestore function look like

1 个答案:

答案 0 :(得分:1)

不要returnconsole.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();
    });

});