我刚刚开始使用OneSignal推送通知系统,当我在用户收到通知时应该采取一些措施时,我遇到了一个问题 . 我在我的应用程序中使用与Ionic文档相同的代码:

this.oneSignal.startInit('my-one-signal-id', 'firebase-id');

    this.oneSignal.inFocusDisplaying(this.oneSignal.OSInFocusDisplayOption.InAppAlert);

    this.oneSignal.handleNotificationReceived().subscribe(() => {
     // do something when notification is received
    });

    this.oneSignal.handleNotificationOpened().subscribe(() => {
      // do something when a notification is opened
    });

    this.oneSignal.endInit();

问题是handleNotificationReceived函数仅在我处于应用程序时才有效,当app被杀死时不起作用 . 在另一方面,handleNotificationOpened函数运行良好甚至应用程序被杀死或运行 .

我想要做的是在收到通知时将通知保存在本地存储中 . 有人可以知道如何做到这一点以及如何使handleNotificationReceived运行甚至应用程序被杀?或者,当用户打开应用程序时,如何从OneSignal服务器获取所有未读通知(应用程序后端无法更改)?

我正在使用Ionic 3,应用程序应该在Android和IOS中构建 .

在此先感谢您的回答 .