【问题标题】:FCM: firebase getToken options( ServiceWorkerRegistration, vapidKey)FCM:firebase getToken 选项(ServiceWorkerRegistration,vapidKey)
【发布时间】:2021-01-15 11:19:43
【问题描述】:

这就是 firebase 文档描述获取令牌功能的方式:

getToken (options ?: { serviceWorkerRegistration ?: ServiceWorkerRegistration ; vapidKey ?: string }) : Promise

可选选项:{ serviceWorkerRegistration?: ServiceWorkerRegistration; vapidKey?: 字符串 }

可选的 serviceWorkerRegistration?: ServiceWorkerRegistration 用于接收推送消息的服务工作者注册。如果未明确提供注册,则需要在根位置有一个 firebase-messaging-sw.js。有关详细信息,请参阅检索当前注册令牌。

我只是想弄清楚如何在我的代码中使用 service worker 选项。我是否像这样将文件位置放在 getToken('/file-location') 内?或者我是否导入一个注册我的自定义 Firebase 服务工作者的函数?我可能只是愚蠢,但这些文档是准系统。

【问题讨论】:

    标签: javascript firebase firebase-cloud-messaging service-worker


    【解决方案1】:

    如果您的 (web) 服务器根目录中有 firebase-messaging-sw.js,您只需调用 .getToken(),您的 service worker 就会自动加载和使用。

    如果您在/my-other-folder 有您的firebase-messaging-sw.js,那么您需要这样称呼它:

    const swRegistration = await navigator.serviceWorker.register('/my-other-folder/firebase-messaging-sw.js');
    const token = await fcm.getToken({
      serviceWorkerRegistration: swRegistration,
    });
    

    【讨论】:

    • 谢谢,我已经在我的根服务器中安装了它,但是这个错误不断出现,想尝试这种方式。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-12-30
    • 2016-02-25
    • 2017-02-21
    • 2015-05-12
    • 1970-01-01
    • 2021-01-17
    • 2023-03-06
    相关资源
    最近更新 更多