あなたは、サービス労働者を使用して手動でfirebase-messaging-sw.js
をロードしていることを修正することができます。
ファイルが2つあるとします:index.html
とfirebase-message-sw.js
。彼らは同じ場所にいます。 index.html
1.In
は、あなたがfirebase.js
をロードし、あなたのfirebaseアプリの初期化:
<script src="https://www.gstatic.com/firebasejs/4.3.1/firebase.js"></script>
<script>
var var config = {
apiKey: YOUR_API_KEY,
messagingSenderId: YOUR_SENDER_ID
};
firebase.initializeApp(config);
navigator.serviceWorker.register('/firebase-messaging-sw.js')
.then(function (registration) {
messaging = firebase.messaging();
//request permission for Push Message.
messaging.requestPermission().then(function() {
console.log('grant');
messaging.getToken().then(function (currentToken) {
console.log('current token', currentToken);
});
}).catch(function(error) {
console.log('Push Message is disallowed');
})
})
</script>
2.を完了firebase-messaing-sw.js
importScripts('https://www.gstatic.com/firebasejs/4.3.1/firebase-app.js');
importScripts('https://www.gstatic.com/firebasejs/4.3.1/firebase-messaging.js');
var config = {
messagingSenderId: YOUR_SENDER_ID
};
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);
});
を実装します!