V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
teavoid
V2EX  ›  问与答

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

  •  
  •   teavoid · 2014-01-26 23:56:54 +08:00 · 5435 次点击
    这是一个创建于 3980 天前的主题,其中的信息可能已经有所发展或是发生改变。
    类似微信,后台有个服务,用来接收服务器的消息推送。
    因为后台使用的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-01-27 00:04:24 +08:00
    刚刚看了下百度云推送。貌似android和iOS可以采用如下的统一方案:
    1、后台时,使用百度云推送。
    2、app激活(进去前台)时,才建立websocket连接。
    pright
        2
    pright  
       2014-01-27 01:43:36 +08:00   ❤️ 2
    想省事就用第三方的推送服务,一般都有比较完善的api,服务器也能支持一定数量用户。
    不怕麻烦就用xmpp或mqtt协议自己架服务器,前者有androidpn服务端,后者也有挺多开源实现。

    完全自己造轮子觉得没太必要,我现在就用androidpn做的推送。
    powerfj
        3
    powerfj  
       2014-01-27 10:12:30 +08:00   ❤️ 1
    用第三方的吧,jpush什么的,如果每个应用自己做推送的话,最后遭殃的还是用户的手机和电池
    teavoid
        4
    teavoid  
    OP
       2014-01-27 11:02:33 +08:00
    @pright
    @powerfj
    嗯,初步打算使用百度云推送。。用第三方的风险是,万一第三方关门了。。就够呛。。
    powerfj
        5
    powerfj  
       2014-01-27 11:08:08 +08:00
    @teavoid 建议用之前先调研一下各家推送的稳定性和及时性和达到率..
    zhouquanbest
        6
    zhouquanbest  
       2014-01-27 14:01:17 +08:00
    建议使用GCM加国内第三方双重方案
    dellch
        7
    dellch  
       2014-03-09 20:24:47 +08:00
    @zhouquanbest 国内第三方这个怎么搞呢?能否简单指导下?
    Androilly
        8
    Androilly  
       2015-07-03 17:16:42 +08:00
    建议使用个推推送,业内最大的一家有保证,500w累计注册用户以下还是免费的。
    百度到达率是在捉急。
    Hxqing
        9
    Hxqing  
       2016-12-12 15:03:33 +08:00
    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
    希望对你有所帮助!
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2728 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 11:35 · PVG 19:35 · LAX 03:35 · JFK 06:35
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.