我正在尝试使用 Firebase 消息传递(网络)。 Firebase 默认情况下会搜索保存 Service Worker 的文件“firebase-messaging-sw.js”。
Service Worker 脚本应该位于应用程序的绝对路径上!例如 :http://localhost/firebase-messaging-sw.js http://localhost/firebase-messaging-sw.js
如何更改此默认位置?!搜索官方文档发现了这个方法:useServiceWorker
它接受服务工作者注册,但尝试使用它时出现错误,该方法甚至不存在!
那么,如何更改 Firebase 消息传递的 Service Worker 的位置?
正如迈克尔所说,使用的方法是useServiceWorker(<registration>)
.
https://firebase.google.com/docs/reference/js/firebase.messaging.Messaging#useServiceWorker https://firebase.google.com/docs/reference/js/firebase.messaging.Messaging#useServiceWorker
Messaging 类是您调用时返回的内容firebase.message()
.
所以样本是:
navigator.serviceWorker.register('./example/sw.js')
.then((registration) => {
messaging.useServiceWorker(registration);
// Request permission and get token.....
});
我刚刚在 Github 上的演示应用程序上尝试过这个,没有问题:https://github.com/firebase/quickstart-js/tree/master/messaging https://github.com/firebase/quickstart-js/tree/master/messaging
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)