Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/firebase/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Firebase 如何知道service worker中是否激活了推送通知权限?_Firebase_Firebase Cloud Messaging_Service Worker_Progressive Web Apps - Fatal编程技术网

Firebase 如何知道service worker中是否激活了推送通知权限?

Firebase 如何知道service worker中是否激活了推送通知权限?,firebase,firebase-cloud-messaging,service-worker,progressive-web-apps,Firebase,Firebase Cloud Messaging,Service Worker,Progressive Web Apps,我正在从事一个渐进式web应用程序(PWA)项目,该项目在ServiceWorker中生成推送通知。使用FCM(Firebase Cloud Messaging)发送推送通知是成功的,但我想知道如何知道我的web应用程序是否具有从用户浏览器发送推送通知的权限。如果可能,我想显示用户按钮以请求推送通知的权限。可能吗 您可以检查站点是否可以发送推送消息并显示使用通知 在这种情况下没有使用messaging.requestPermission()?而是请求权限。在这种情况下,我想在请求许可之前知道浏览

我正在从事一个渐进式web应用程序(PWA)项目,该项目在ServiceWorker中生成推送通知。使用FCM(Firebase Cloud Messaging)发送推送通知是成功的,但我想知道如何知道我的web应用程序是否具有从用户浏览器发送推送通知的权限。如果可能,我想显示用户按钮以请求推送通知的权限。可能吗

您可以检查站点是否可以发送推送消息并显示使用通知


在这种情况下没有使用
messaging.requestPermission()
?而是请求权限。在这种情况下,我想在请求许可之前知道浏览器是否允许通知。实际上,我用类似于
navigator.serviceWorker.register(swUrl)的代码解决了这个问题。然后(registation=>{firebase.messaging().useServiceWorker(registation);registation.pushManager.getSubscription()。然后(subscription=>{…})
。在这段代码中,
firebase
是连接的
服务工作者
,因此,如果firebase获得权限,它将在服务人员的
订阅中注册,我可以从服务人员那里检查浏览器是否具有该权限。
if (Notification.permission === "granted") {
  // Push notification permission granted.
}