Firebase 云函数 "admin.messaging(...).send is not a function"

Firebase Cloud Functions "admin.messaging(...).send is not a function"

我在 Firebase Functions 服务中有一个函数可以发送任何 FCM。 我会使用 admin.messaging().send() 函数,比如 this reference guide,但是我在触发函数时遇到了这个错误,而不是在部署期间:

TypeError: admin.messaging(...).send is not a function
   at exports.sendChatNotification.functions.database.ref.onCreate.event (/user_code/lib/index.js:113:30)
   at Object.<anonymous> (/user_code/node_modules/firebase-functions/lib/cloud-functions.js:59:27)
   at next (native)
   at /user_code/node_modules/firebase-functions/lib/cloud-functions.js:28:71
   at __awaiter (/user_code/node_modules/firebase-functions/lib/cloud-functions.js:24:12)
   at cloudFunction (/user_code/node_modules/firebase-functions/lib/cloud-functions.js:53:36)
   at /var/tmp/worker/worker.js:700:26
   at process._tickDomainCallback (internal/process/next_tick.js:135:7)

我可以在 Firebase 控制台中的 Functions->Log 中看到这个错误。
那是我的函数代码:

 exports.sendChatNotification = functions.database.ref('/messages').onCreate(event => {

 var message = {
    data: {
        title: 'title',
        body: 'body',
    },
    apns: {
        header: {
            'apns-priority': '10',
            'apns-expiration':'0'
          },
        payload: {
            aps: {
                sound: 'default',
                'content-available':'1'
              }
        }
    },
    android: {
        ttl: 60*1000,
        priority: 'high'
      },
    topic: 'mytopic'
};

return admin.messaging().send(message);

});

如果我使用 admin.messaging().sendToTopic() 并且(更改消息结构)它工作正常。 Firebase 似乎不支持自己的 API.

我使用 Firebase 工具通过命令行 "firebase deploy".
进行部署 我在我的函数项目中更新了 firebase-tools 和 firebase-functions 以及 firebase-admin。

firebase-admin5.9.0 添加了 send() 函数。如果你想使用它,你应该 运行 npm install firebase-admin@latest 在你的函数文件夹中安装最新版本。在撰写本文时,最新版本是 5.9.1。