我应该在android中使用什么来推送通知

时间:2014-04-03 08:39:58

标签: android google-cloud-messaging

我有Android应用程序,如果用户向其他用户发送反馈,那么receiver用户就会获得notification,就像whatsapp一样。

我应该用什么呢?

如果有Google Cloud Messaging好选项或其他任何内容?

1 个答案:

答案 0 :(得分:1)

三种方法:

  1. 轮询。这意味着您的客户端应用程序应定期向服务器发送请求以获取新事件。 [糟糕的坏方法!]
  2. 稳定连接。您的客户端应用程序具有稳定的连接和服务器通知列表。 [电池效率低下]

    • 因为HTTP协议仅用于请求 - 响应,所以处理推送很棘手。你必须有两个连接与服务器通信。一个用于请求,另一个用于处理服务器的事件。你与服务器建立了keep-alive连接,只有当你的客户端得到响应(实际上不是响应!)时,服务器才会响应,直到它有一些事件为止你的客户端必须向服务器发送另一个请求倾听未来的事件。 XMPP协议是这种方法的一个很好的选择。还有一个名为Smack的java库和一个名为aSmack的android优化移植库。你也必须有一台XMPP服务器。
    • 使用WebSocket协议,该协议提供通过单个TCP连接提供全双工通信通道。有一个名为android-websockets的安卓库(以及其他java库!)
  3. Google Cloud Messaging称为GCM

  4. 我认为GCM和WebSocket的结合是一种很好的方法。