【发布时间】:2021-08-24 20:56:23
【问题描述】:
当我的 Firebase 实时数据库发生变化时,我正在尝试创建 FCM。云函数代码粘贴在下面。到目前为止没有显示任何通知,所以我正在尝试查看云功能是否正确。但是,我在 Firebase 控制台上也没有看到日志,因此调试很困难。任何人都可以提供为什么日志没有显示的见解吗?部署完成,没有问题。
const functions = require("firebase-functions");
const admin = require('firebase-admin');
admin.initializeApp(functions.config.firebase);
exports.notificationFCM = functions.database.ref('/chats/{userId}').onCreate(async (snapshot, context) => {
const userId = context.params.userId;
const payload = {
notifiction: {
title: `New message`,
body: `Click to check your message!`,
badge: `1`,
sound: `default`
}
};
const token = await admin.database()
.ref(`tokens/${userId}`)
.once('value');
if (token.val().deviceToken != null) {
console.log(userId);
console.log('Sucess');
return admin.messaging().sendToDevice(token.val().deviceToken, payload);
}
else {
console.log('No token avaliable');
console.log(userId);
}
});
package.json
{
"name": "functions",
"description": "Cloud Functions for Firebase",
"scripts": {
"serve": "firebase emulators:start --only functions",
"shell": "firebase functions:shell",
"start": "npm run shell",
"deploy": "firebase deploy --only functions",
"logs": "firebase functions:log"
},
"engines": {
"node": "14"
},
"main": "index.js",
"dependencies": {
"firebase-admin": "^9.8.0",
"firebase-functions": "^3.14.1"
},
"devDependencies": {
"firebase-functions-test": "^0.2.0"
},
"private": true
}
【问题讨论】:
标签: firebase firebase-realtime-database google-cloud-functions firebase-cloud-messaging