我刚刚开始使用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函数仅在我处于应用程序时才有效,当应用程序被杀死时,它不起作用。另一方面,handleNotificationOpened函数即使应用程序被杀死或运行也能很好地工作。
我要做的是在收到通知时将通知保存在本地存储中。有人可以知道如何做到这一点以及如何使handleNotificationReceived运行甚至应用程序被杀?或者,当用户打开应用程序时,如何从OneSignal服务器获取所有未读通知(应用程序后端无法更改)?
我正在使用Ionic 3,app应该在Android和IOS中构建。
提前感谢您的回答。