我想写一个应用程序,从服务器接收推送警报。我找到了一些方法来做到这一点。
SMS -拦截传入的SMS并从服务器发起拉取 定期轮询服务器
每种方法都有其局限性。短信-不保证到达时间。投票可能会耗尽电池。
你有更好的建议吗?非常感谢。
我想写一个应用程序,从服务器接收推送警报。我找到了一些方法来做到这一点。
SMS -拦截传入的SMS并从服务器发起拉取 定期轮询服务器
每种方法都有其局限性。短信-不保证到达时间。投票可能会耗尽电池。
你有更好的建议吗?非常感谢。
当前回答
Firebase Cloud Messaging (FCM)是GCM的新版本。FCM是一种跨平台消息传递解决方案,允许您安全地免费发送消息。继承GCM的中央基础设施,在Android, iOS, Web (javascript), Unity和c++上可靠地传递消息。
截至2018年4月10日,谷歌已不批准GCM。GCM服务器和客户端api已弃用,将于2019年4月11日移除。谷歌建议将GCM应用程序迁移到Firebase Cloud Messaging (FCM), FCM继承了可靠且可扩展的GCM基础设施。
资源
其他回答
C2DM:您的应用程序用户必须有gmail帐户。
MQTT:当你的连接达到1024时,它将停止工作,因为它使用了linux的“select model”。
有一个免费的android推送服务和api,你可以试试:http://push-notification.org
谷歌的官方答案是Android云到设备消息框架(已弃用)谷歌云消息(已弃用)Firebase云消息
它将适用于Android >= 2.2(在有Play Store的手机上)。
还是……
3)与服务器保持连接,每隔几分钟发送Keep -alive,服务器可以即时推送消息。这就是Gmail,谷歌Talk等的工作原理。
我不知道这是否还有用。我在http://www.pushlets.com/上使用java库实现了类似的功能
虽然在服务中这样做不会阻止android关闭它或杀死监听线程。
Android云到设备消息框架
重要提示:C2DM已于2012年6月26日正式弃用。这意味着C2DM已停止接受新用户和配额请求。不会向C2DM添加任何新特性。然而,使用C2DM的应用程序将继续工作。鼓励现有的C2DM开发人员迁移到C2DM的新版本,称为谷歌Cloud Messaging for Android (GCM)。有关更多信息,请参阅c2d -to- gcm迁移文档。开发人员必须在新的开发中使用GCM。
请查看以下链接:
http://developer.android.com/guide/google/gcm/index.html