将FCM通知数据保存在离子应用中



我能够将通知发送到我的应用程序。如果我的应用程序正在运行,那么它可以保存传入的通知数据

如果我的应用程序关闭,并且我单击通知托盘上的通知,它将打开我的应用程序,但没有保存通知数据关于应用程序关闭时如何保存通知数据的任何建议? 以下是代码

    platform.ready().then(() => {

  fcm.onNotification().subscribe( data => {
    this.con.notification_title = data.notification_title;
    this.con.notification_message = data.notification_message;
      if(localStorage.getItem('oldmsg'))
      {
        this.temparr = JSON.parse(localStorage.getItem('oldmsg')); 
        this.temparr.push({"notification_title":this.con.notification_title,"notification_message": this.con.notification_message}); 
        localStorage.setItem('oldmsg',JSON.stringify(this.temparr));
        this.presentToast("You Recieved A Message!");
      }
      else{
        this.temparr.push({"notification_title":this.con.notification_title,"notification_message": this.con.notification_message}); 
        localStorage.setItem('oldmsg',JSON.stringify(this.temparr));
        this.presentToast("You Recieved A Message!");
      }
    });
 statusBar.styleDefault();
  splashScreen.hide();
  this.storage.get('introShow').then((result) => {
    if(result){
      this.navCtrl.setRoot(LoginPage);
      this.storage.set('introShow', true);
    } else {
      this.navCtrl.setRoot(IntroPage);
      this.storage.set('introShow', true);
    }
    this.listenToLoginEvents();
  });

});

我已删除了数据。

希望这对某人有帮助

        this.Onesignal.startInit(this.oneSignalAppId, this.sender_id);
    this.Onesignal.inFocusDisplaying(this.Onesignal.OSInFocusDisplayOption.Notification);
    this.Onesignal.handleNotificationReceived().subscribe(// when its received
        data => {
          if (localStorage.getItem('notifications')) {
            this.temparr = JSON.parse(localStorage.getItem('notifications'));
            this.temparr.push({body: data.payload.body,
            title: data.payload.title,
            type: data.payload.additionalData.type});
            localStorage.setItem('notifications', JSON.stringify(this.temparr.reverse()));
            this.events.publish('user:noti_done', {
              user: 'done',
              time: new Date()
            });
          } else {
            this.temparr.push({body: data.payload.body,
            title: data.payload.title,
            type: data.payload.additionalData.type});
            localStorage.setItem('notifications', JSON.stringify(this.temparr));
            this.events.publish('user:noti_done', {
              user: 'done',
              time: new Date()
            });
          }
        });
    
    this.Onesignal.handleNotificationOpened().subscribe(data => {
      console.log('handleNotificationOpened');
      console.log(data);
      
    });
    this.Onesignal.endInit();
}

相关内容

  • 没有找到相关文章

最新更新