使用gcm开发android应用程序。

使用gcm开发android应用程序。,android,google-cloud-messaging,server,androidhttpclient,Android,Google Cloud Messaging,Server,Androidhttpclient,我正计划开发一款android应用程序,它可以发送提醒并设置与其他手机上安装了该应用程序的人的手机上的提醒相对应的警报。 现在,提醒实际上是一组数据,包括日期/时间和提醒的消息。 该应用程序将向服务器发送一个提醒包,然后服务器将重定向目标用户手机上的消息。现在我从中了解到的是双向通信。 我研究过谷歌云消息HTTP和XMPPCCS。 我不知道哪种协议适合像我这样的应用程序。 任何帮助都是值得尊敬的 让您的应用程序向GCM注册,将生成的令牌发送到服务器,并将其与用户帐户绑定。您的应用程序会将警报设置

我正计划开发一款android应用程序,它可以发送提醒并设置与其他手机上安装了该应用程序的人的手机上的提醒相对应的警报。 现在,提醒实际上是一组数据,包括日期/时间和提醒的消息。 该应用程序将向服务器发送一个提醒包,然后服务器将重定向目标用户手机上的消息。现在我从中了解到的是双向通信。 我研究过谷歌云消息HTTP和XMPPCCS。 我不知道哪种协议适合像我这样的应用程序。
任何帮助都是值得尊敬的

让您的应用程序向GCM注册,将生成的令牌发送到服务器,并将其与用户帐户绑定。您的应用程序会将警报设置发送到服务器,并将警报发送给哪个用户。您的服务器查找目标用户的GCM令牌,并向该设备(您的应用程序)发送消息,告诉它从服务器更新其警报。然后,您的目标应用程序可以(例如)向AlarmManager或任何符合您目的的应用程序注册警报。

XMPP非常出色,但会带来额外费用。你必须有一个专用的服务器。据我所知,谷歌GCM只是一个转发服务到您的服务器,而不是一个专门的服务器来处理消息本身。不过,您的数据包听起来并不是太大,所以一个简单的JSON http数据包就可以了,但是您将如何处理它们呢?这就是为什么XMPP更合适的原因。是的,我实际上忘了提那个。事实上,我将使用专用服务器,并使用GCM作为我的应用程序和服务器之间的中介。我们不能使用HTTP将数据包寻址到指定的用户吗?前提是您有一种寻址数据包的方法。是的,我的意思是可能是到HTTP服务器的持久连接,然后只写入套接字。但是XMPP减少了这方面所需的大部分工作。我最初选择了内部构建的服务器,但几乎立即意识到了其局限性。因此,最终实现了XMPP,我再也没有回头看。