zhgg0
V2EX  ›  Android

安卓利用第三方推送怎么实现聊天?

  •  
  •   zhgg0 · Apr 1, 2016 · 15248 views
    This topic created in 3736 days ago, the information mentioned may be changed or developed.

    当有消息来的时候,用推送通知客户端,然后客户端带上上次拉取的消息 ID ,主动去自己的服务器拉取。服务器根据客户端带的 ID 判断客户端有多少条消息未接收,然后返回给客户端。 当 app 不在前台运行的时候,有消息来,也发推送给客户端,但客户端不去服务器拉取,等下次打开再一次性拉取。 不知道这种方式实现是否合理,或者大家有更好的方法?

    8 replies    2016-11-28 11:30:33 +08:00
    chenhui7373
        1
    chenhui7373  
       Apr 1, 2016
    慕课网 - 见证消息推送的时刻 郭神带你飞
    qq316107934
        2
    qq316107934  
       Apr 2, 2016
    JPush 有现成的聊天 SDK
    zhgg0
        3
    zhgg0  
    OP
       Apr 2, 2016
    @qq316107934 不想用现成的,如果用现成的,万一提供聊天 sdk 的那一方很坑就没法改了,想换聊天 sdk 提供商的话没法兼容新老版本一起聊。如果只用推送的话,可以随时替换。
    hyzjshwo
        4
    hyzjshwo  
       Apr 3, 2016
    android 推送有到达率的问题
    pynix
        5
    pynix  
       Apr 3, 2016
    可惜不能用官家的推送服务
    zhgg0
        6
    zhgg0  
    OP
       Apr 3, 2016
    @hyzjshwo 小米用小米家推送,华为用华为家推送,其它的随便用一家,到达率会非常高的。
    zhgg0
        7
    zhgg0  
    OP
       Apr 3, 2016
    @hyzjshwo 集成多家推送,然后根据系统初始化一家
    Hxqing
        8
    Hxqing  
       Nov 28, 2016
    不合理。
    首先,“客户端带上上次拉取的消息 ID ,主动去自己的服务器拉取。”这个是不支持的。
    其次,这个需求并不是推送的需求,这个是后端云储存。客户端每次都验证自己本地的内容是不是和服务器的一致,不一致就同步,这是典型的云储存的需求。
    还有一点,这样实现的话,服务器就要代客户端收取消息,这个是不科学的。
    最后,你要解决这个问题的话,可以掏钱让第三方推送服务商,例如,云巴( Yunba.io )给你定制服务。当然,要是想免费的话,可以自己搭 firebase 服务器。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   5314 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 68ms · UTC 08:03 · PVG 16:03 · LAX 01:03 · JFK 04:03
    ♥ Do have faith in what you're doing.