我一直在努力使推送通知有效。 我收到以下错误
; FirebaseError:消息传递:我们无法注册默认服务工作者。无法注册ServiceWorker:获取脚本时收到错误的HTTP响应代码(404)。 (消息/服务工作人员注册失败)。
我已经尝试过Google并申请了https://stackoverflow.com/a/42264578/5192105
但是它仍然可以在本地运行,但不能在server上运行。
js
文件firebase-messaging-sw.js
存在于以下路径中:https://mobile-app.golocall.com/api/src/public/firebase-messaging-sw.js
我已经使用slim-php
作为后端框架。
请帮助我解决错误。
答案 0 :(得分:1)
它尝试在应用程序的根目录中找到服务工作者文件;因此应用程序尝试加载
https://mobile-app.golocall.com/firebase-messaging-sw.js
而实际文件位于
https://mobile-app.golocall.com/api/src/public/firebase-messaging-sw.js
编辑:
您可能可以像这样导入服务工作者:
importScripts('https://www.gstatic.com/firebasejs/4.8.1/firebase-app.js');
importScripts('https://www.gstatic.com/firebasejs/4.8.1/firebase-messaging.js');
如果这不起作用,则可能需要声明自己的服务工作者。
以下是有关该主题的更多信息的链接:
https://firebase.google.com/docs/cloud-messaging/js/receive