当前位置:  开发笔记 > 编程语言 > 正文

Firebase:更改服务工作者的位置

如何解决《Firebase:更改服务工作者的位置》经验,为你挑选了2个好方法。

我正在尝试使用Firebase消息传递(Web).Firebase默认搜索保存服务工作者的文件"firebase-messaging-sw.js".

服务工作者脚本应该位于应用程序的绝对路径上!例如:http://localhost/firebase-messaging-sw.js

如何更改此默认位置?!搜索官方文档我发现这个方法:useServiceWorker接受服务工作者注册,但尝试使用它我得到一个错误,该方法甚至不存在!

那么,如何更改服务工作者的位置以进行firebase消息传递?



1> Matt Gaunt..:

正如迈克尔所说,使用的方法是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



2> Michael Blei..:

您应该可以执行firebase.messaging().useServiceWorker(registration)并传递现有的服务工作者注册.请注意,您应该在拨打例如getToken()或之前尽早执行此操作onMessage().


另请注意,此API是在库的3.5.0版本中添加的,因此请确保至少已更新到该版本。
推荐阅读
女女的家_747
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有