teavoid
V2EX  ›  问与答

请教下android下消息推送的方案?

By teavoid at 2014 年 1 月 26 日 · 6522 次点击
类似微信,后台有个服务,用来接收服务器的消息推送。
因为后台使用的pomelo框架,所以android这边打算用socket.io来接收消息。

请问下有无人使用过类似方案,想问问socket.io的这种连接,
1、是否很耗电?(websocket基于tcp,这样长期在app和服务器之间保持一个连接是否靠谱?)
2、本身握手的带宽消耗?

或者说,这种推送系统和心跳应该用udp来做?
9 条回复  •  2016-12-12 15:03:33 +08:00
teavoid
   1
teavoid  
OP
   2014 年 1 月 27 日
刚刚看了下百度云推送。貌似android和iOS可以采用如下的统一方案:
1、后台时,使用百度云推送。
2、app激活(进去前台)时,才建立websocket连接。
pright
   2
pright  
   2014 年 1 月 27 日   ❤️ 2
想省事就用第三方的推送服务,一般都有比较完善的api,服务器也能支持一定数量用户。
不怕麻烦就用xmpp或mqtt协议自己架服务器,前者有androidpn服务端,后者也有挺多开源实现。

完全自己造轮子觉得没太必要,我现在就用androidpn做的推送。
powerfj
   3
powerfj  
   2014 年 1 月 27 日   ❤️ 1
用第三方的吧,jpush什么的,如果每个应用自己做推送的话,最后遭殃的还是用户的手机和电池
teavoid
   4
teavoid  
OP
   2014 年 1 月 27 日
@pright
@powerfj
嗯,初步打算使用百度云推送。。用第三方的风险是,万一第三方关门了。。就够呛。。
powerfj
   5
powerfj  
   2014 年 1 月 27 日
@teavoid 建议用之前先调研一下各家推送的稳定性和及时性和达到率..
zhouquanbest
   6
zhouquanbest  
   2014 年 1 月 27 日
建议使用GCM加国内第三方双重方案
dellch
   7
dellch  
   2014 年 3 月 9 日
@zhouquanbest 国内第三方这个怎么搞呢?能否简单指导下?
Androilly
   8
Androilly  
   2015 年 7 月 3 日
建议使用个推推送,业内最大的一家有保证,500w累计注册用户以下还是免费的。
百度到达率是在捉急。
Hxqing
   9
Hxqing  
   2016 年 12 月 12 日
1. 不会耗电,几十秒才发一个 ping 包,消耗微乎其微(长连接断了就再连嘛,重连很方便, sdk 也会自动重连);
2. 如上,一个 ping 包的大小估计在几十个字节,一整天可能才几个 KB 。

云巴就有 Socket.IO 相关的解决方案,包括 Socket.IO API 使用等,操作十分便捷,不需要自己造轮子,
详情可看: https://yunba.io/docs/socketio_api_api_manual

@dellch 第三方推送也可选择云巴,快速集成的入门操作仅有 5 步,并且每一步都非常简便,包括注册账号、创建新应用、下载 SDK 、集成 SDK 、开始通信。
详细的内容建议查看云巴的文档,讲得非常详细清晰,链接: https://yunba.io/docs/product_kb_yunba_quick_start
希望对你有所帮助!
© 2026 V2EX · 58ms · 3.9.8.5