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

2016-04-01 22:26:37 +08:00
 zhgg0

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

10820 次点击
所在节点    Android
8 条回复
chenhui7373
2016-04-01 23:20:59 +08:00
慕课网 - 见证消息推送的时刻 郭神带你飞
qq316107934
2016-04-02 11:42:42 +08:00
JPush 有现成的聊天 SDK
zhgg0
2016-04-02 18:24:23 +08:00
@qq316107934 不想用现成的,如果用现成的,万一提供聊天 sdk 的那一方很坑就没法改了,想换聊天 sdk 提供商的话没法兼容新老版本一起聊。如果只用推送的话,可以随时替换。
hyzjshwo
2016-04-03 01:29:39 +08:00
android 推送有到达率的问题
pynix
2016-04-03 04:43:16 +08:00
可惜不能用官家的推送服务
zhgg0
2016-04-03 12:25:28 +08:00
@hyzjshwo 小米用小米家推送,华为用华为家推送,其它的随便用一家,到达率会非常高的。
zhgg0
2016-04-03 12:26:00 +08:00
@hyzjshwo 集成多家推送,然后根据系统初始化一家
Hxqing
2016-11-28 11:30:33 +08:00
不合理。
首先,“客户端带上上次拉取的消息 ID ,主动去自己的服务器拉取。”这个是不支持的。
其次,这个需求并不是推送的需求,这个是后端云储存。客户端每次都验证自己本地的内容是不是和服务器的一致,不一致就同步,这是典型的云储存的需求。
还有一点,这样实现的话,服务器就要代客户端收取消息,这个是不科学的。
最后,你要解决这个问题的话,可以掏钱让第三方推送服务商,例如,云巴( Yunba.io )给你定制服务。当然,要是想免费的话,可以自己搭 firebase 服务器。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/268023

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX