использовать маршрут и локальное хранилище из внешнего файла js (firebase-messaging-sw. js) в angular 8 - PullRequest
0 голосов
/ 01 мая 2020

В основном я хочу изменить маршрут страницы, когда я получил уведомление (с данными) в фоновом режиме, используя firebase-messaging-sw. js

importScripts('https://www.gstatic.com/firebasejs/5.5.0/firebase-app.js');
importScripts('https://www.gstatic.com/firebasejs/5.5.0/firebase-messaging.js');


firebase.initializeApp({
 // my config
});

const messaging = firebase.messaging();

messaging.setBackgroundMessageHandler(function (payload) {
  console.log("back-res", payload);
  setTimeout(() => {
    this.ngZone.run(() => {
      if (payload['data']['code'] == 1) {
        localStorage.setItem('token', payload['data']['newToken']);   // new token with expiry 2 hour
        localStorage.setItem('emailId', payload['data']['username']);
        this.route.navigate(['/pages/dashboard']);
        localStorage.removeItem("deviceToken");
      }
    });
  }, 3000);
  return new Promise(function (resolve, reject) { });
});
...