我正在开发Firebase实时消息传递应用程序。我已经成功地将浏览器/设备令牌上传到Firestore的集合中,但是当我尝试测试应用程序中是否收到消息时,我什么也没收到。
这是我代码的某些部分。
<!-- The core Firebase JS SDK is always required and must be listed first -->
<script src="https://www.gstatic.com/firebasejs/6.6.2/firebase-app.js"></script>
<script src="https://www.gstatic.com/firebasejs/6.6.2/firebase-auth.js"></script>
<script src="https://www.gstatic.com/firebasejs/6.6.2/firebase-firestore.js"></script>
<script src="https://www.gstatic.com/firebasejs/6.6.2/firebase-messaging.js"></script>
<script src="https://www.gstatic.com/firebasejs/6.6.2/firebase-functions.js"></script>
<script>
var firebaseConfig = {
---- PRIVATE ----
};
// Initialize Firebase
firebase.initializeApp(firebaseConfig);
</script>
<script src="firebase-messaging-sw.js?v=2156"></script>
已经尝试为firebase-messaging-sw(https://stackoverflow.com/a/50078103/3881610)编写必要的代码,但我收到一条错误消息:
未捕获的FirebaseError:消息传递:此方法在服务工作者上下文中可用。 (消息传递/仅可用insw)。
我也有在页面中接收消息的代码:
var messaging = firebase.messaging();
messaging.onMessage((payload) => {
console.log('Message received. ', payload);
});
还要确保使用Postman将消息发送到设备令牌,并且工作正常。
有什么想法吗?谢谢!
答案 0 :(得分:1)
起初,firebase-messaging-sw.js
是服务工作者的JavaScript文件。
请参见Firebase messaging importScripts is not defined
您可以尝试样品吗?
请参阅: