我正在尝试在我的Android应用中开发一个消息应用。消息将像whatsapp和beluga。我用谷歌搜索它,发现C2DM Android 2.2可以将推送通知发送到设备。但是,这在Android 2.1上不可用。有谁知道whatsapp如何发送2.1设备的通知?
答案 0 :(得分:13)
对于Android:Whatsapp基于C2DM构建,当应用程序打开时,它会打开与其服务的XMPP连接,以立即传递消息。他们还可能使用MQTT作为协议来最小化电池使用。基本上就是这样。
编辑:我了解到更多,Facebook在他们的消息应用程序中使用MQTT。 Whatsapp是基于XMPP构建的,具有自己的扩展。他们的服务器端运行在ejabbard之上(erlang中的XMPP实现)。 http://www.ejabberd.im/
在2.1之前的设备上,WhatsApp可能会在后台保持与其XMPP服务器的连接,但这对电池续航时间并不是很好。
答案 1 :(得分:2)
C2DM现在由GCM (google cloud messaging)取代。您可以使用它将通知发送到您的应用。对于消息交换,应该依赖xmpp(whatsapp),mqtt(facebook messenger),mtproto(电报)等协议。
如果您希望熟悉GCM。通过appsrox试用本教程 - Create an Instant Messaging app using Google Cloud Messaging (GCM)
他们也在使用GCM进行邮件传递。它不适合制作,但对于想要开发即时通讯安卓应用程序的人来说,它是一个很好的资源。
答案 2 :(得分:0)
我不知道在whatsapp中使用了什么确切的技术。但是,如果我要实现不支持来自操作系统的推送通知的通知,我可以做两件事: