适用于 Firebase 的 Cloud Functions(无日志消息)



这是我第一次将Cloud Functions用于Firebase和Node.js,所以

我不知道为什么我在 Firebase 控制台上看不到任何日志。

至少,我已经成功部署了下面的函数

'use strict';
const functions = require('firebase-functions');
//import admin module
const admin = require('firebase-admin');
admin.initializeApp(functions.config().firebase);

/* Listens for new messages added to events and sends a notification to 
subscribed users */
exports.pushNotification = 
functions.database.ref('/events/{pushId}').onWrite( event => {
console.log('Push notification event triggered');
/* Grab the current value of what was written to the Realtime Database 
*/
var valueObject = event.data.val();
/* Create a notification and data payload. They contain the     
notification information, and message to be sent respectively */ 
const payload = {
data: {
eventType: valueObject.eventType,
receiver: valueObject.receiver,
requester: valueObject.requester
}
};
/* Create an options object that contains the time to live for the 
notification and the priority. */
const options = {
priority: "high",
timeToLive: 60 * 60 * 24 //24 hours
};
return admin.messaging().sendToTopic(valueObject.receiver, payload, 
options).then(function (response) {
console.log("Successfully sent message:", response);
})
.catch(function (error) {
console.log("Error sending message:", error);
});
});

但是,即使我将一些数据写入"事件"数据库,我也无法在Firebase控制台上看到任何日志消息。 这是否意味着根本没有触发此功能?

如果有人能提出这个问题的原因,我将不胜感激。

如果您在控制台中正确设置了应用程序,那么在触发函数时没有理由不进行日志记录。

这使您有可能没有启动该功能。一个可能的原因是数据没有在函数中提供的路径上写入。

那么,您是向/events(例如'true''ABC'(添加一个值,还是向其添加子值(例如{'ABC' = true}(? 在.ref(/events/{pushId})的情况下,函数将在后一种情况下调用,而不是在前一种情况下调用。

相关内容

  • 没有找到相关文章

最新更新