Push-уведомление Firebase не работает в Firefox 63 - PullRequest
0 голосов
/ 29 октября 2018

Я пытаюсь реализовать push-уведомление FCM. И у меня версия Firefox 63.0.

Ниже мой код,

var config = {
                apiKey: "${model.apiKey}",
                authDomain: "${model.authDomain}",
                databaseURL: "${model.databaseURL}",
                projectId: "${model.projectId}",
                storageBucket: "${model.storageBucket}",
                messagingSenderId: "${model.messagingSenderId}"
            };

            firebase.initializeApp(config)
            const messaging = firebase.messaging();
            messaging.requestPermission().then(function () {
            console.log("Notification permission granted.");
           // get the token in the form of promise
            return messaging.getToken()
            }).then(function(token) {
                 $('#devicekey').val(token);
            }).catch(function (err) {
        console.log("Unable to get permission to notify.", err);
   });  

Разрешение на уведомление предоставлено

отображается в консоли. Но показывает ошибку

FirebaseError: Сообщения: этот браузер не поддерживает API требуется использовать Firebase SDK. (Сообщений / неподдерживаемый браузер).

Так что я не могу получить токен. Почему это так? Обратите внимание, что мое приложение запускается через «http».

1 Ответ

0 голосов
/ 01 ноября 2018

Документы Firebase :

FCM SDK поддерживается только на страницах, обслуживаемых по HTTPS. Это связано с использованием сервисных работников, которые доступны только на сайтах HTTPS. Нужен провайдер? Firebase Hosting - это простой способ получить бесплатный HTTPS-хостинг на своем собственном домене.

В моем Firefox 63 я видел сообщение, подобное вашему, когда пытался открыть страницу с инициализацией firebase через http. Мой Chrome пишет более конкретно предупреждение в этом случае:

[Устаревание] API уведомлений больше нельзя использовать из небезопасных источников. Вам следует подумать о переключении вашего приложения на безопасный источник, например HTTPS.

Также я видел сообщение, подобное вашему, когда я работал в Firefox 60 по https. Причина в том, что «сервисные работники» отключены в Firefox 60 ESR (но могут быть повторно включены). Это сообщение слишком общее в Firefox.

...