我最近了解到iPhone应用程序能够接收几乎即时的通知。

这是以推送通知的形式提供的,这是一种定制的协议,可以保持与iPhone的数据连接,并向应用程序发送二进制数据包,它会以极快的速度弹出警报,从服务器应用程序发送到手机应用程序的响应时间为0.5 - 5秒。这是作为数据而不是SMS发送的,以非常非常小的数据包作为数据计划的一部分收费,而不是作为传入消息。

我想知道,如果,使用Android,有一个类似的设施,或者是否有可能实现接近这个使用Android api的东西。为了澄清,我将相似定义为:

不是短信,而是一些数据驱动的解决方案 尽可能的实时 是否可扩展,即作为移动应用程序的服务器部分,我可以在几秒钟内通知数千个应用程序实例

我欣赏的应用程序可以拉基于,HTTP请求/响应风格,但理想情况下,我不想轮询那么严重,只是为了检查通知;除此之外,它就像滴漏数据计划。


当前回答

GCM的问题是在这个过程中涉及到很多配置:

你必须在Android应用中添加大量样板文件 需要配置外部服务器与GCM服务器通信 您必须编写测试

如果你喜欢简单的东西(像我一样),你应该试试UrbanAirship。这是(恕我直言)在应用程序中使用GCM的最简单方法,无需进行大量配置。它还提供了一个漂亮的GUI来测试是否正确地传递了GCM消息。

你可以在这里找到文档和入门指南 您可以在这里找到一个示例应用程序

注:我没有附属城市飞艇在任何方式

其他回答

有一个新的开源项目正在开发一个Java库,用于Android上的推送通知,使用Meteor comet服务器作为后端。你可以在执事计划博客上查看。我们需要开发人员,所以请传播这个消息!

如果你可以依靠谷歌库来满足你的目标市场,那么你可能想要依靠GTalk的功能(在现有的用户名上注册一个资源-当消息进入BroadcastReceiver时拦截它)。

如果不能,而且我希望您不能,那么您就需要捆绑您自己的XMPP版本。这是一个痛苦的过程,但是如果XMPP单独捆绑成一个独立的库,就会容易一些。

你也可以考虑PubSubHubub,但我不知道它的网络使用情况。我相信它是构建在XMPP之上的。

They have their listeners which has to be used by you by using their library classes in your code. You need not to bother about pushing. You have to send the message to server server will push the message to the device. They use OAuth. Regarding Protocols, there are two methods using CCS and XMPP. CCS just uses XMPP as an authenticated transport layer, so you can use most XMPP libraries to manage the connection. To send notifications to device you can write code in android app to send as well as your server code. the message sending will be done only by your code. Rest will be taken care by Google Server in GCM case. You can check detail at this link

http://developer.android.com/google/gcm/server.html

还有安全问题

谷歌云消息安全https://groups.google.com/forum/#!主题/ android-gcm / M-EevBitbhQ

In case your app is not running then also devices can recieve notification because you have to write code for broadcast listeners. In background it will be listening to server and whenever any message packet will be there it will recieve the message as notification. Android has service you need to not to bother about it. You have only to use those resources using the library class that makes your work easier and let them write if your app is not running then also it recieve notification. Obviously, there would be some listener whick make the app to recieve.Check "Recieve the message" section in this link

http://developer.android.com/google/gcm/client.html

它还将接受用户的请求。对于GCM,这就可以了。请勾选“发送信息”

http://developer.android.com/google/gcm/client.html

Firebase Cloud Messaging FCM FAQ是GCM的新版本。它继承了GCM的核心基础设施,可以在Android、iOS和Chrome上可靠地传递消息。但是他们会继续支持GCM,因为现在很多开发者都在使用GCM sdk来处理通知,而客户端应用的升级需要时间。

截至2012年6月26日,谷歌云消息传递是向设备上运行的应用程序发送消息的首选方式。

以前(现在已弃用),该服务被称为“云到设备消息”。

我最近开发了http://pushdroid.org,它是一个单一的应用程序,应该安装在手机上,就像谷歌已经在2.2中实现了它,从1.5开始工作,并通过意图广播。