So i am building a mobile PWA built with capacitor for Android and iOS and i want to integrate a service worker to handle incoming push notifications from firebase while the app is closed. I followed this firebase tutorial so far, but i am already really really confused where to start... maybe this is because i am pretty new to PWA's and completely new to service workers, i don't know.
I am using the Quasar framework with Vue.js 2. My folder structure looks like this:
my "regster-service-worker.js" was initialized by quasar as this:
import { register } from 'register-service-worker'
// The ready(), registered(), cached(), updatefound() and updated()
// events passes a ServiceWorkerRegistration instance in their arguments.
// ServiceWorkerRegistration: https://developer.mozilla.org/en-US/docs/Web/API/ServiceWorkerRegistration
register(process.env.SERVICE_WORKER_FILE, {
// The registrationOptions object will be passed as the second argument
// to ServiceWorkerContainer.register()
// https://developer.mozilla.org/en-US/docs/Web/API/ServiceWorkerContainer/register#Parameter
// registrationOptions: { scope: './' },
ready (/* registration */) {
console.log('Service worker is active.')
},
registered (/* registration */) {
console.log('Service worker has been registered.')
},
cached (/* registration */) {
console.log('Content has been cached for offline use.')
},
updatefound (/* registration */) {
console.log('New content is downloading.')
},
updated (/* registration */) {
console.log('New content is available; please refresh.')
},
offline () {
console.log('No internet connection found. App is running in offline mode.')
},
error (/* err */) {
console.error('Error during service worker registration:', err)
}
})
So as i said, i really don't know where to start here. I looked up the mozilla documentation, which provides me a way different approach to this as i have seen elsewhere, like in the tutorial linked above. And before i start coding random things together again and wasting a lot of time tomorrow at work, i rather ask you guys here today and hope for helpful answers from you.
If you need any additional info just post a comment. Thanks in advance! :))