【发布时间】:2022-11-21 23:22:45
【问题描述】:
我一直在尝试向主题“全部”发送通知,控制台日志显示错误:
通知发送失败:TypeError:admin.messaging 不是函数
代码:
// The Cloud Functions for Firebase SDK to create Cloud Functions and set up triggers. const functions = require('firebase-functions'); // The Firebase Admin SDK to access Firestore. var admin = require("firebase-admin/app"); const { applicationDefault } = require('firebase-admin/app'); admin.initializeApp({ credential: applicationDefault(), databaseURL: "my-firebase-url" }); exports.notificationsOnCreate = functions.database.ref("/{type}/{id}/").onCreate(async (snapshot, context) => { const payload = { notification: { title: 'cloud function demo', body: 'this is a test notification' } }; try{ return await admin.messaging().sendToTopic("All", payload) .then(function(response){ console.log('Notification sent successfully: ', response); }); } catch(err) { console.log('Notification sent failed: ', (err)); } })其他堆栈溢出主题建议将 firebase-admin 更新到 >5.1 的版本,但这似乎不是这里的问题。
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": "16" }, "main": "index.js", "dependencies": { "firebase-admin": "^11.3.0", "firebase-functions": "^4.1.0" }, "devDependencies": { "firebase-functions-test": "^0.2.0" }, "private": true }
【问题讨论】:
标签: javascript firebase google-cloud-functions firebase-cloud-messaging firebase-admin