node.js - messages.sendMulticast 不是一个函数

标签 node.js firebase-cloud-messaging firebase-admin

当我尝试向设备发送消息时,出现上述错误:

let functions = require("firebase-functions");
const admin = require("firebase-admin");

var serviceAccount = require("./configs.json");

admin.initializeApp({
    credential: admin.credential.cert(serviceAccount),
    databaseURL: "https://pushmessage-bd1eb.firebaseio.com"
});

const db = admin.firestore();
exports.getUsers = functions.https.onRequest(async (req, res) => {
    db.collection("users")
        .get()
        .then(snapshot => {
            const messaging = admin.messaging();
            let registrationTokens = [];
            snapshot.forEach(doc => {
                let id = doc.id;

                registrationTokens.push(id);
            });
            console.log(registrationTokens);

            // process the tokens
            const message = {
                data: { title: "Testing", body: "Test" },
                tokens: registrationTokens
            };

            messaging.sendMulticast(message).then(response => {
                console.log(
                    response.successCount + " messages were sent successfully"
                );
            });
        });
});

最佳答案

sendMulticast 直到最近才被引入 Firebase Admin SDK。尝试将您的 firebase-admin 依赖项升级到最新版本 (npm install firebase-admin@latest)。

关于node.js - messages.sendMulticast 不是一个函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55612572/

相关文章:

javascript - 在 Node 中测试绑定(bind)函数

java - Android - Firebase 通知在点击时打开一个 Activity

angular - 尝试使用 Firebase admin SDK 时出错

javascript - Promise 中的代码执行和使用 return 语句

node.js - ionic 2 : Test with jasmine and karma error 'ng test'

android - 添加/修改子项时的 Firebase 通知

javascript - AWS Lambda 中的 Firebase 实时数据库查询未获得最新结果

javascript - 使用 Firebase 处理客户端授权

node.js - 如何从 node.js 连接到 Tor 网桥?

java - 适用于 FCM 的 GoogleApiClient.Builder().addApi()