将数据发送到离线/非活动应用

时间:2014-03-22 07:37:24

标签: android ios ios7 push-notification apple-push-notifications

我想创建一个移动聊天/消息应用程序。将有在线和离线用户。我希望用户能够向在线和离线用户发送消息。如果两个用户在线,我将使用websockets进行通话,但如果在线用户想要向离线用户发送消息,我会遇到问题。如果在线用户向离线用户发送消息,我希望发件人知道消息是否已发送。这可能吗?我知道我可以使用推送通知向离线用户发送新消息已到达,但在应用程序仍未运行时,我找不到任何有关向离线用户发送消息的信息。我是否必须将消息存储在数据库中,然后当接收者打开他的应用程序时,向他们发送新消息还是有其他方式?

1 个答案:

答案 0 :(得分:1)

非常好。您的所有消息都应存储在数据库中,具体取决于系统其余部分的复杂性,我建议使用某种无架构的无SQL数据库。客户端设备在打开时打开一个持久的套接字,并从服务器向下推送消息。如果服务器收到要发送到脱机客户端的消息,请向相关设备发送推送通知。当客户端连接时,您应该做的第一件事是在数据库中查找尚未发送给用户的任何消息并将其推送到套接字。

如果您需要任何澄清,请告诉我。