【问题标题】:Firebase function log show nothingFirebase 功能日志什么也不显示
【发布时间】:2018-08-30 12:35:55
【问题描述】:

我只安装了 npm,一切正常 并部署了我的 index.js 文件,我在 Firebase 函数中看到了它 但是当我运行我的应用程序并尝试为用户发送通知时,我在日志选项卡中什么也看不到。 在数据库云防火墙中,我看到了消息...有人可以向我解释一下吗?谢谢 这是我的 index.js 代码

    '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);




});

**已编辑 我正在开发一个简单的应用程序,您可以看到所有注册到该应用程序的用户,然后您可以选择其中一个并向他发送消息。 我希望用户会收到一条通知消息,这不是完成的代码,但我正在使用一个教程,他表明当他发送消息时,它会在功能日志中写入内容,而我没有看到。 this is my firebase database

this is my firebase database2

and this is my firestore function look like

【问题讨论】:

  • 请编辑您的问题以解释您正在做什么应该触发该功能。

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


【解决方案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 抓得好!这是返回 promise 而不是 void 的代码...

另外,由于您将数据库结构添加到问题中,我注意到您在 FB 中的节点是单数“Notification”,而您的触发器使用复数“Notifications

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();
    });

});

【讨论】:

  • 在日志选项卡中它仍然说:“还没有这个项目的日志”在仪表板中我看到了我的部署,但它在右侧也有标题为“超时”,低于 60 秒和下一个给它“内存”256MB 和“运行时”node.js 6...
  • 不返回 void,返回一个承诺 :)
  • 伙计,它成功了!唯一的问题是在 DB 中它是 Notificaiton ,我尝试从 Notifications 中获取。谢谢你的通知!
猜你喜欢
  • 2018-09-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-09-01
  • 1970-01-01
  • 1970-01-01
  • 2017-11-30
  • 1970-01-01
相关资源
最近更新 更多