我正在开发一款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>
已经尝试为火碱消息传递软件(https://stackoverflow.com/a/50078103/3881610(编写必要的代码,但是我收到错误说:
未捕获的 FirebaseError: 消息传递:此方法在服务工作者上下文中可用。(消息传递/仅在软件中可用(。
我也有在页面中接收消息的代码:
var messaging = firebase.messaging();
messaging.onMessage((payload) => {
console.log('Message received. ', payload);
});
还确保使用邮递员将消息发送到设备令牌并且工作正常。
有什么想法吗?谢谢!
首先,firebase-messaging-sw.js
是 service worker JavaScript 文件。
请参阅未定义 Firebase 消息导入脚本
你能试试样品吗?
看:
- https://github.com/firebase/quickstart-js/tree/master/messaging
- https://github.com/firebase/functions-samples/tree/master/fcm-notifications