简体   繁体   English

将Firebase FCM添加到reactjs app

[英]Adding Firebase FCM to reactjs app

I am trying to send push notifications to users in my reactjs app. 我试图在我的reactjs应用程序中向用户发送推送通知。 I have added firebase, requested user for notification permission. 我添加了firebase,请求用户获得通知权限。 That's working. 那很有效。

But now I want to register device token. 但现在我想注册设备令牌。 But it's giving me error: 但它给了我错误:

Messaging: We are unable to register the default service worker. 消息:我们无法注册默认服务工作者。 Failed to register a ServiceWorker: The script has an unsupported MIME type ('text/html'). 无法注册ServiceWorker:脚本具有不受支持的MIME类型('text / html')。 (messaging/failed-serviceworker-registration) (消息/失败-serviceworker注册)

Where to add firebase-messaging-sw.js file? 在哪里添加firebase-messaging-sw.js文件? How to register a service worker in react app? 如何在react应用程序中注册服务工作者?

Here is the code I am using to register device token: 这是我用来注册设备令牌的代码:

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);
      });

Note: It's not react native but a web app. 注意:它不是本机反应,而是一个Web应用程序。

I have added firebase-messaging-sw.js file into my public directory (with index.html) file. 我已将firebase-messaging-sw.js文件添加到我的公共目录(带有index.html)文件中。 That resolved the issue. 这解决了这个问题。

See more at this post 在这篇文章中查看更多内容

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM