While trying to fetch the FCM messages in node.js using firebase module, following error "TypeError: firebase.messaging is not a function" is occurring.
var firebase = require("firebase");
firebase.initializeApp({
apiKey: "xxxxxxx",
authDomain: "xxxxxxx",
databaseURL: "xxxxxxx",
projectId: "xxxxxxx",
storageBucket: "xxxxxxx",
messagingSenderId: "xxxxxxx"
});
const messaging = firebase.messaging();
How to rectify this error and how to use firebase module to pull messages??
You must included import '@firebase/messaging'
for it to work.
So it's supposed to look like this:
import * as firebase from 'firebase/app';
import '@firebase/messaging';
The criteria you are trying to use only works on the browser:
You have to require firebase-messaging
, check this full sample it will guide you https://github.com/firebase/quickstart-js/tree/master/messaging
For nodeJS implementation, you have to use admin.messaging
https://firebase.google.com/docs/reference/admin/node/admin.messaging
// Get the Messaging service for the default app
var defaultMessaging = admin.messaging();
The documentation for Firebase does not make it clear that there is a difference of features available based on the current environment. firebase.messaging
is not available to a Node.js client, but is available from the firebase-admin
package. However, this package alone comes with a different set of features specfically for firebase.messaging
.
You can see what's available to you based on your environment in the Firebase Reference docs. Specifically for your case the Node.js (Client) section.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With