Reputation: 105
Keep receiving a TypeError and I cant figure out why. I installed Firebase by using (npm install firebase --save
). Here is my code:
var firebase = require("firebase"); // Firebase
var express = require('express'); // Express instaniated a different way for serving static webpages
var app = express(); // Express App include
// Set port
app.listen(8085);
// Initialize Firebase
var config = {
apiKey: "AIza...............",
authDomain: ".....firebaseapp.com",
databaseURL: "...............",
storageBucket: "..........appspot.com",
messagingSenderId: "..............."
};
firebase.initializeApp(config);
// Create the URL for using Firebase
app.get('/fcmtest', function (req, res) {
const messaging = firebase.messaging();
messaging.requestPermission()
.then(function () {
console.log("Have Permission")
})
.catch(function (err) {
console.log("Do Not Have Permission");
});
});
This is the error I am receiving. InitializeApp seems to be working fine but messaging is not working. (npm -v firebase) spits out 3.10 but the npm webpage says the latest is 3.6.1.
TypeError: firebase.messaging is not a function
at /usr/gserv/services/app.js:226:32
at Layer.handle [as handle_request] (/usr/gserv/services/node_modules/express/lib/router/layer.js:95:5)
at next (/usr/gserv/services/node_modules/express/lib/router/route.js:131:13)
at Route.dispatch (/usr/gserv/services/node_modules/express/lib/router/route.js:112:3)
at Layer.handle [as handle_request] (/usr/gserv/services/node_modules/express/lib/router/layer.js:95:5)
at /usr/gserv/services/node_modules/express/lib/router/index.js:277:22
at Function.process_params (/usr/gserv/services/node_modules/express/lib/router/index.js:330:12)
at next (/usr/gserv/services/node_modules/express/lib/router/index.js:271:10)
at /usr/gserv/services/node_modules/connect-busboy/index.js:14:14
at Layer.handle [as handle_request] (/usr/gserv/services/node_modules/express/lib/router/layer.js:95:5)
Any help is greatly appreciated.
Upvotes: 0
Views: 782
Reputation: 2630
After reading this: https://www.npmjs.com/package/firebase
"Firebase Cloud Messaging is not included in the server side Firebase npm module. Instead, you can use the Firebase Cloud Messaging Rest API."
So you should make rest calls for messaging, but you cannot use the messaging function in the code like you tried.
See the REST API documentation: https://firebase.google.com/docs/cloud-messaging/send-message#http_post_request
Upvotes: 3