Firebase:firebase.messaging()不是一个函数
我正在尝试从FCM
设置NodeJS Client Web App
。 我已经在服务器端设置了firebase-admin
。 设置客户端访问令牌时,我得到一个TypeError: firebase.messaging is not a function
错误。 从其他解决scheme看来,似乎是不同FCM版本之间的兼容性错误,但仍然可以解决这个问题。 下面是我使用的HTML文件
<html> <head> <script src="https://www.gstatic.com/firebasejs/3.1.0/firebase.js"></script> </head> <body> <script> console.log(firebase); const messaging = firebase.messaging(); messaging.onTokenRefresh(function () { messaging.getToken() .then(function (refreshedToken) { console.log('Token refreshed.'); console.log(refreshedToken); // // Indicate that the new Instance ID token has not yet been sent to the // // app server. // setTokenSentToServer(false); // // Send Instance ID token to app server. // sendTokenToServer(refreshedToken); // // [START_EXCLUDE] // // Display new Instance ID token and clear UI of all previous messages. // resetUI(); // // [END_EXCLUDE] }) .catch(function (err) { console.log('Unable to retrieve refreshed token ', err); // showToken('Unable to retrieve refreshed token ', err); }); }); </script> </body> </html>
如何在客户端正确设置Firebase? 编辑: console.log(firebase)
给出:
SDK_VERSION: "3.1.0", initializeApp: ƒ, app: ƒ, Promise: ƒ, …} INTERNAL:{registerService: ƒ, createFirebaseNamespace: ƒ, extendNamespace: ƒ, createSubscribe: ƒ, ErrorFactory: ƒ, …} Promise:ƒ Promise() SDK_VERSION : "3.1.0" User:ƒ (a,b,c) app:ƒ a(a) apps:(...) auth:ƒ (c) database:ƒ (c) initializeApp:ƒ (a,c) storage:ƒ (c) get apps:ƒ () __proto__ : Object
看起来你没有遵循文档中的基本集成步骤。 有一个消息包括:
<script src="https://www.gstatic.com/firebasejs/4.2.0/firebase-messaging.js"></script>
另请注意,4.2.0中的最新版本的Web客户端。 你在一个旧版本。
- 如何让从Firebase上的Facebook身份validation生成的UID始终保持在我的应用程序?
- 我可以在客户端和Firebase之间使用自己的NodeJS服务器,并仍然使用“on()”方法吗?
- 用于Firebase Admin SDK的Node.js身份validation服务器 – JWTvalidation问题
- Firebase云端函数中的参数HTTPS
- 将Firebases的thirdpartyuserdata对象发布到服务器
- TypeError:firebase.storage不是一个函数
- 错误:未创buildFirebase应用“” – 调用Firebase App.initializeApp()
- Firebasepipe理员身份validation令牌被吊销
- 在Firebase云端函数中使用toLocaleString格式化货币值