我如何知道服务工作者是否已激活推送通知权限?

时间:2018-08-27 01:23:51

标签: firebase firebase-cloud-messaging service-worker progressive-web-apps

我正在开发一个渐进式Web应用程序(PWA)项目,该项目在Service Worker中进行推送通知。使用FCM(Firebase云消息传递)发出推送通知是成功的,但是我想知道如何知道我的Web应用程序是否具有来自用户浏览器的推送通知权限。如果有可能,我想显示用户按钮以请求推送通知权限。可能吗?

1 个答案:

答案 0 :(得分:1)

您可以检查您的网站是否可以使用Notification.permission发送推送消息和显示通知。

let filter = CIFilter(imageURL: urlToRawFile20MBLarge)

class Renderer: MTKView {
    override func draw() {

        filter.setValue(temp, forKey: kCIInputNeutralTemperatureKey)

        let image: CIImage = filter.cropped(to: rect)
                                   // uses CIFilter(name: "CIGaussianBlur").outputImage
                                   .applyBlurFilter(radius: radius)
                                   .applyCustomShader1(param: x)
                                   .applyCustomShader2(param: y)

        // ... create command buffer and `CIRenderDestination`

        do {
            try ciContext.startTask(toClear: dest)
            try ciContext.startTask(toRender: image, to: dest)
        } catch {
            log(error)
        }

        if let drawable = currentDrawable {
            commandBuffer.present(drawable)
        }
    }
}