BANano.Build(Publish)
'USE THIS CODE AFTER BANANO BUILD
'on chrome DISABLE: chrome://flags/#enable-native-notifications
'add firebase messaging service worker
'at root of site.
File.Copy(File.DirAssets, "firebase-logo.png", Publish, "firebase-logo.png")
'create the service worker file
Dim fbm As String = File.Combine(Publish, "firebase-messaging-sw.js")
File.WriteString("", fbm, $"//self.addEventListener("notificationclose", console.log);
//self.addEventListener("notificationclick", console.log);
importScripts("https://www.gstatic.com/firebasejs/8.2.1/firebase-app.js");
importScripts("https://www.gstatic.com/firebasejs/8.2.1/firebase-messaging.js");
importScripts("https://www.gstatic.com/firebasejs/8.2.1/firebase-analytics.js");
var firebaseConfig = {
apiKey: "(redacted)",
authDomain: "(redacted)",
projectId: "(redacted)",
storageBucket: "(redacted)",
messagingSenderId: "(redacted)",
appId: "(redacted)",
measurementId: "(redacted)",
};
firebase.initializeApp(firebaseConfig);
const messaging = firebase.messaging();
messaging.onBackgroundMessage(function(payload) {
console.log('service worker', payload);
const notification = payload.notification;
const notificationTitle = notification.title;
const notificationOptions = {
body: notification.body,
icon: '/firebase-logo.png',
tag: 'fb'
requireInteraction: true,
};
return self.registration.showNotification(notificationTitle, notificationOptions);
});"$)