Firebase Cloud Messaging - getMessaging 不是函数

jos*_*eph 6 node.js firebase firebase-cloud-messaging

尝试使用 Firebase 网站中的代码片段从 Firebase 中的 Node.js 应用程序向 Android 设备发送消息。

https://firebase.google.com/docs/cloud-messaging/android/send-multiple

继续获得getMessaging is not a function.

我的电话是 await admin.messaging().getMessaging().send(...)

找不到什么问题。

Dha*_*raj 13

getMessaging()您所指的函数是一个顶级函数,可以从 SDK 导入,如下firebase-admin/messaging所示:

import { getMessaging } from "firebase-admin/messaging";
Run Code Online (Sandbox Code Playgroud)

这相当于并且都返回Messagingadmin.messaging()类的实例。

如果您按照 Firebase文档发送消息,则代码应为:

import { getMessaging } from "firebase-admin/messaging"; // not just "firebase-admin"

const messaging = getMessaging();

await messaging.send(...)
Run Code Online (Sandbox Code Playgroud)

与客户端 SDK 一样,管理 SDK 并不完全模块化,因此其余语法保持不变。另请查看admin.firestore、admin.firestore() 和 getFirestore() 之间有什么区别


Mar*_*y B 3

您使用的firebase-adminsdk 确实有不同的语法。对于您的用例,您应该使用:

await admin.messaging().send(...);
Run Code Online (Sandbox Code Playgroud)

有关更多信息,请查看此文档