我在我的Ionic 2应用程序中使用OneSignal推送通知。除以下情况外,它运行良好:
- 关闭应用程序以确保它没有在后台运行
- 向应用程序发送通知
- 取消通知
- 打开应用程序
- 我没有收到任何通知的迹象
在初始化期间,我调用了OneSignal.handleNotificationReceived().subscribe(),但除非应用程序在前台/后台运行,否则不会触发此操作。
当应用程序启动时,是否有任何方法可以获得通知,即使用户拒绝了通知。
谢谢。
单独使用OneSignal无法实现您想要实现的目标。Ionic 2的OneSignal插件有两个动作调用:
CCD_ 1&handleNotificationOpened()
当收到通知且应用程序处于前台时,调用第一个,当从通知启动应用程序时调用第二个。
你需要一些其他服务来记录何时发送通知,看看应用程序自行启动时是否有通知。如果您使用OneSignal的REST API自己发送通知,您可以记录何时发送通知,然后当应用程序自己启动时,而不是从通知中启动时,您可以从自己的服务器获取错过的通知或通知计数。这只是你能做到的一种方法。
但最终OneSignal是一个推送通知服务,它只做发送通知。即使你自己做了APNS或FCM,并经历了你概述的场景,结果也会是一样的,这不是OneSignal的问题。这就是通知的设计方式。