1
vven 2012-11-16 16:34:26 +08:00 1
在segmentfault上回答过推送的问题:
http://segmentfault.com/q/1010000000121259#a-1020000000127210 目前在用长连接的方式推送,但是具体能承受多少客户端,性能之类的也不是很清楚,没能测试过 |
2
explon 2012-11-16 16:37:03 +08:00 1
Android 的推送就是悲剧, 一个程序开一个后台进程
|
3
holmesabc 2012-11-16 16:59:23 +08:00 1
没什么实时性要求的话,可以直接http轮询。一次拿多个消息。
有实时性要求的话,都是直接socket长链接。 如果又要实时,又不想开发有什么难度的话,可以socket + http,socket长链接做通知,数据用http来传。 当然以上都是自己实现。要用什么推送框架的话,没用过,所以也没什么推荐的。 @explon 其实只是一个线程。很少会有应用开新进程的。 |
6
holmesabc 2012-11-16 18:24:03 +08:00
|
8
Visoar 2012-11-16 20:19:25 +08:00 2
最近也在关注这个部分,除了自行搭建(好像不太有非常成熟方案,欢迎提供)。除了LZ提到的极光推送,还找到了个 http://www.igetui.com/,看他的宣传是说新浪微博和马桶在用。未自行测试。
同求解更优方案。。顺便...万恶的GFW。。 |
11
reorx 2012-11-16 21:00:53 +08:00
看到这个帖子的我,眼泪掉下来 T﹏T
|
13
Yo_oY 2012-11-16 21:24:45 +08:00
推荐下Parse( https://www.parse.com/ ),用过,感觉很成熟的样子。
不过Android老这么让程序自己后台跑进程来检测总不是个事儿啊,程序装得越多越慢。 |
15
fajaven 2012-11-19 09:08:18 +08:00
@vven Apple APNs, Google GCM 等标准的推送系统,都是长连接的方式的。也只有这样,才能够做到:1)及时地推送;2)节省电量、流量。
当然要做到真正地节省资源,同时能够承担大容量并发,并且成本还要尽可能低(毕竟要一直维持连接的),是很有挑战的。 |
16
fajaven 2012-11-19 09:23:17 +08:00
@luin 你说得对,极光推送 (http://jpush.cn) 在有多个应用都使用时,会去重用连接。
极光推送原理上与 Apple APNs, Google GCM 类似,也参考了他们的设计,都是一个长连接长期维持在那里的。这样做主要是后台负载非常地大,在客户端来说,电量、流量消耗都比轮询来得要小。 我们最近写了篇文章:极光推送技术原理:移动无线网络长连接 http://blog.jpush.cn/index.php/jpush_wireless_push_principle/ 希望这篇文章可以帮大家更多地理解移动推送技术。 |
18
liqinliqin 2012-11-22 09:33:54 +08:00
@holmesabc 确切的说,是进程sleep,没有外部事件不会唤醒,不参与进程调度,比如长连接read应用,可以阻塞进程睡眠,这样省电。
|
19
kidfolk 2012-11-22 11:37:02 +08:00
1、gcm真的有传言的那么不稳定吗,还是因为gfw的关系,大家主观觉得gcm一定不稳定?
2、android手机上google自家的app,比如gmail的推送是没问题的。如果gmail是采用gcm,那么gcm的稳定性还是可以的。 3、国外的一些应用,比如pocket,推送通知很稳定,这些应用采用gcm的可能性比较大。 综上,个人觉得gcm应该没有传言的那么不稳定。v2ex上有人用过gcm吗,希望用过的人人出来分享一下经验。 |
20
sqbing 2012-11-22 13:00:18 +08:00
一个题外话,有没有socket大数据量通信的示例?比如使用消息长度字段,前引导字段等等
|
21
fajaven 2012-11-27 13:30:28 +08:00
@kidfolk GCM不稳定(Google服务的不稳定)只是一个方面,小的方面。
更大的方面在于,国内大部分的手机,完全不内置任何 Google 服务,当然也用不了 GCM。 我们原来做过应用,内置过 C2DM(GCM老版本),只有 5% 的用户可用。 |
24
luin OP 我准备使用极光或个推的推送服务,等用段时间写些评测...
|
25
kidfolk 2012-11-29 22:22:42 +08:00 1
@l0wkey 我们只支持国内三星,摩托,htc,小米,魅族这些主流手机,连google基础服务都砍掉系统不支持也罢。
自己实现推送,一个应用占一个服务,那才是最不好的用户体验。android本来就已经够混乱的了,就别再添乱了:) |
27
little_cup 2012-11-29 22:54:31 +08:00
@kidfolk 为你这样有原则的开发者鼓掌!
|
29
kidfolk 2012-11-30 09:13:52 +08:00
@l0wkey 大部分是有的吧,不排除个别设备比较反人类。以前见过一个三星的Galaxy Tab就把google服务给砍掉了。
往大了说,手机厂商跟google争主导权,导致几个大的android手机厂商都想做应用商店,都想做平台。我觉得对于开发者来说,毫无疑问,我们应该站在google一边。其实现在的乱局,开发者要负一定的责任。 不管怎样了,我们下一步就准备使用gcm了,使用一段时间之后我会再回来这个帖子分享使用感受:) |
31
fajaven 2012-12-04 11:37:26 +08:00
|
32
fajaven 2012-12-04 11:40:22 +08:00
@kidfolk 很期望看到GCM分享信息。我们公司原来做个应用,有用过C2DM(GCM前身),统计数据显示,只有 5% 的用户可以用起来。
对了,是否有 Google 服务,还仅是一个方面,还需要,用 Google帐户需要登录。 我们当前也没有想到,国内有Google服务的手机并且登录Google帐户(Gmail帐户)的比例会如此之低。 |
33
deanguqiang 2012-12-04 11:57:44 +08:00
@fajaven 在中国android用户中,有google账户的都不会超过两成吧……
|
34
fajaven 2012-12-04 13:36:20 +08:00
@deanguqiang 我相信不会超过两成。但还有GFW的因素,导致很多用户即使有 Google帐户但也没有作为主要帐户在用了。 使用GCM的角度,还需要这个有 Google帐户的用户,同时使用的是包含有 Google服务的 Android手机。所以,仅推理来看,5% 的使用用户也是合理的。
|