получить уведомление пожарной базы - PullRequest
0 голосов
/ 25 января 2019

Я хочу отправлять и получать уведомления с помощью Firebase, я могу отправить сообщение из Интернета на Firebase и получить его на приложение Android. Теперь я хочу получать уведомления на рабочий стол браузера, но он не работает

1) добавить скрипт в index.html

<script src="https://www.gstatic.com/firebasejs/5.8.0/firebase-app.js"></script>
    <script src="https://www.gstatic.com/firebasejs/5.8.0/firebase-messaging.js"></script>
    <script src="https://www.gstatic.com/firebasejs/5.8.0/firebase.js"></script>
    <script>
        // Initialize Firebase
        var config = {
            apiKey: "AIzaSyDQSLErZKGEFFGFGFGFGHGH",
            authDomain: "fdfdfdfdfd.firebaseapp.com",
            databaseURL: "https://fdfdfdfdfdf.firebaseio.com",
            projectId: "fdfdotifications",
            storageBucket: "dfdfdfdfdfdfdf.appspot.com",
            messagingSenderId: "665588478878"
        };
        firebase.initializeApp(config);
        const messaging = firebase.messaging();
        messaging.requestPermission().then(function() {
            console.log('permissions ok');
            return messaging.getToken();
            // Do something with the granted permission.
        })
            .then(function (token) {
                console.log(token)

            })
            .catch(function (err) {
                console.log(err)

            });

        messaging.onTokenRefresh(function() {
            messaging.getToken()
                .then(function(refreshedToken) {
                    console.log('Token refreshed.');
                })
                .catch(function(err) {
                    console.log('Unable to retrieve refreshed token ', err);
                });
        });
        messaging.onMessage(function(payload) {
            console.log("Message received. ", payload);
            // ...
        });
                 //
    </script>

2) добавить работника службы (firebase-messaging-sw.js) в корневой каталог

importScripts('https://www.gstatic.com/firebasejs/5.8.0/firebase-app.js');
importScripts('https://www.gstatic.com/firebasejs/5.8.0/firebase-messaging.js');


var config = {
    apiKey: "AIzaSyDQSLErZKGEhKoUxn4",
    authDomain: "dfdfdfdfdf.firebaseapp.com",
    databaseURL: "https://ddfdfdfdfd.firebaseio.com",
    projectId: "kdfdfdfdinotifications",
    storageBucket: "fdfdfdnotifications.appspot.com",
    messagingSenderId: "696955855555"
};

firebase.initializeApp(config);
const messaging = firebase.messaging();
messaging.setBackgroundMessageHandler(function(payload) {
    console.log('[firebase-messaging-sw.js] Received background message ', payload);
    // Customize notification here
    const notificationTitle = 'Background Message Title';
    const notificationOptions = {
        body: 'Background Message body.',
        icon: '/firebase-logo.png'
    };

    return self.registration.showNotification(notificationTitle,
        notificationOptions);
});

Браузер генерирует токен, но не получает уведомления от firebase ....

...