将Firebase FCM添加到reactjs app

时间:2017-10-02 08:44:12

标签: javascript reactjs firebase firebase-cloud-messaging

我正在尝试向我的reactjs应用中的用户发送推送通知。我添加了firebase,请求用户获得通知权限。那是有效的。

但现在我想注册设备令牌。但它给了我错误:

  

消息:我们无法注册默认服务工作者。无法注册ServiceWorker:脚本具有不受支持的MIME类型('text / html')。 (消息/失败-serviceworker注册)

在哪里添加firebase-messaging-sw.js文件?如何在react应用程序中注册服务工作者?

以下是我用来注册设备令牌的代码:

messaging.getToken()
      .then(function(currentToken) {
        if (currentToken) {
         // sendTokenToServer(currentToken);
         // updateUIForPushEnabled(currentToken);
        } else {
          // Show permission request.
          console.log('No Instance ID token available. Request permission to generate one.');
          // Show permission UI.
        //  updateUIForPushPermissionRequired();
        //  setTokenSentToServer(false);
        }
      })
      .catch(function(err) {
        console.log('An error occurred while retrieving token. ', err);
        //showToken('Error retrieving Instance ID token. ', err);
        //setTokenSentToServer(false);
      });

注意:它不是反应原生,而是一个网络应用。

1 个答案:

答案 0 :(得分:4)

我已将 firebase-messaging-sw.js 文件添加到我的公共目录(带有index.html)文件中。这解决了这个问题。

请参阅此post

了解详情