使用已关闭的应用保存聊天消息

时间:2017-10-31 22:58:00

标签: java android ios angularjs ionic-framework

晚上好!

我正在开发一个看起来像WhatsApp的聊天应用程序。我需要将收到的消息保存在用户的移动设备上。在此之前一切都还可以,因为当用户在移动设备上收到推送通知时我正在保存消息,但问题发生在应用程序关闭时,因为当应用程序关闭时,推送通知不会触发收到的推送事件(I我正在使用Onesignal发送推文。

我想知道如何做到这一点,即获得通知并处理它,即使我已关闭的应用程序。我认为必须这样做是因为Whatsapp会这样做,而Spotify也会在我将Spotify连接到另一台设备时自动强制在我的手机上打开应用程序。

所以我的问题是,如何处理关闭应用程序的事件,甚至根据特定事件强制打开它?

我正在使用Ionic 1和Angular.js的技术。对于推送通知,我使用的是OneSignal提供商。

提前感谢您的关注,并希望有人可以帮助我。谢谢!

1 个答案:

答案 0 :(得分:0)

我很确定你无法做你所描述的事情。 iOS 9中引入了“后台推送”功能,即使关闭时,应用也可以通过推送接收有效负载,但这更适合下载(例如)新版本的在线杂志,而不是大量消息

这两个用例之间的区别在于,如果您订阅了杂志,您可能希望在连接互联网时自动下载最新版本,以便在飞行时有问题需要阅读/在火车上或其他什么。如果你没有连接到互联网,那么聊天应用程序就没用了,所以没有迫切需要预先下载新消息

即使你可以做到这一点,我认为这不是最好的做法,因为有太多的情况下人们不会有互联网,因此当用户打开时你将没有完整的消息历史记录应用程序(更不用说推送通知交付没有被跟踪或保证),因此当应用程序启动以下载新消息时,您将不得不进行某种查询。

如果您已经有应用程序打开时检查并下载新邮件的代码,那就太棒了。但如果它关闭了,你只需要在启动时运行某种查询来下载未读消息或类似的东西