Я занимаюсь разработкой веб-приложения Reactjs и встроенной базы для push-уведомлений.Создана учетная запись firebase для проекта и скопированы веб-конфигурации.Он работает до Request permission
.но когда allow
запрос на разрешение, токен не получен.
Home.js
import firebase from 'firebase';
var config = {
apiKey: "XXXXXXXX",
authDomain: "XXXXXX.firebaseapp.com",
databaseURL: "https://XXXXXX.firebaseio.com",
projectId: "XXXXXXX",
storageBucket: "XXXXX.appspot.com",
messagingSenderId: "XXXXX"
};
firebase.initializeApp(config);
const messaging = firebase.messaging();
messaging.requestPermission()
.then(() => {
console.log("Have Permission");
return messaging.getToken();
})
.then(token => {
console.log("FCM Token:", token);
// localStorage.setItem("fcmtoken",token);
})
.catch(error => {
if (error.code === "messaging/permission-blocked") {
console.log("Please Unblock Notification Request Manually");
} else {
console.log("Error Occurred", error);
}
});
firebase-messaging-sw.js
importScripts("https://www.gstatic.com/firebasejs/4.12.0/firebase-app.js");
importScripts("https://www.gstatic.com/firebasejs/4.12.0/firebase-messaging.js");
var config = {
apiKey: "XXXXXXXX",
authDomain: "XXXXXX.firebaseapp.com",
databaseURL: "https://XXXXXX.firebaseio.com",
projectId: "XXXXXXX",
storageBucket: "XXXXX.appspot.com",
messagingSenderId: "XXXXX"
};
firebase.initializeApp(config);
const messaging = firebase.messaging();
messaging.setBackgroundMessageHandler(payload => {
const title = payload.notification.title;
console.log('payload', payload.notification.icon);
const options = {
body: payload.notification.body,
icon: payload.notification.icon
}
return self.registration.showNotification(title, options);
});