晚上好!
我正在开发一个看起来像WhatsApp的聊天应用程序。我需要将收到的消息保存在用户的移动设备上。在此之前一切都还可以,因为当用户在移动设备上收到推送通知时我正在保存消息,但问题发生在应用程序关闭时,因为当应用程序关闭时,推送通知不会触发收到的推送事件(I我正在使用Onesignal发送推文。
我想知道如何做到这一点,即获得通知并处理它,即使我已关闭的应用程序。我认为必须这样做是因为Whatsapp会这样做,而Spotify也会在我将Spotify连接到另一台设备时自动强制在我的手机上打开应用程序。
所以我的问题是,如何处理关闭应用程序的事件,甚至根据特定事件强制打开它?
我正在使用Ionic 1和Angular.js的技术。对于推送通知,我使用的是OneSignal提供商。
提前感谢您的关注,并希望有人可以帮助我。谢谢!
答案 0 :(得分:0)
我很确定你无法做你所描述的事情。 iOS 9中引入了“后台推送”功能,即使关闭时,应用也可以通过推送接收有效负载,但这更适合下载(例如)新版本的在线杂志,而不是大量消息
这两个用例之间的区别在于,如果您订阅了杂志,您可能希望在连接互联网时自动下载最新版本,以便在飞行时有问题需要阅读/在火车上或其他什么。如果你没有连接到互联网,那么聊天应用程序就没用了,所以没有迫切需要预先下载新消息
即使你可以做到这一点,我认为这不是最好的做法,因为有太多的情况下人们不会有互联网,因此当用户打开时你将没有完整的消息历史记录应用程序(更不用说推送通知交付没有被跟踪或保证),因此当应用程序启动以下载新消息时,您将不得不进行某种查询。
如果您已经有应用程序打开时检查并下载新邮件的代码,那就太棒了。但如果它关闭了,你只需要在启动时运行某种查询来下载未读消息或类似的东西