diff --git a/src/messaging/messaging.ts b/src/messaging/messaging.ts index 30c070a75..4f1cd8709 100644 --- a/src/messaging/messaging.ts +++ b/src/messaging/messaging.ts @@ -80,10 +80,11 @@ export class AngularFireMessaging { tokenChanges ); - this.messages = messaging.pipe( - observeOn(schedulers.outsideAngular), - switchMap(messaging => new Observable(messaging.onMessage.bind(messaging))) - ); + this.messages = new Observable(observer => { + if (navigator && navigator.serviceWorker) { + navigator.serviceWorker.addEventListener('message', observer.next); + } + }); this.requestToken = of(undefined).pipe( switchMap(() => this.requestPermission),