1
LMkillme 2014-11-05 01:30:27 +08:00
极光推送~
iOS上面也不是用通知中心的,用Apns或者极光推送 |
2
fofoone 2014-11-05 01:33:21 +08:00 1
gcm 别想了,就是没被墙,国产也被阉割。
国内用自己做推送,scoket 长连接 开个service,单机几十万应该不是问题。要不就是第三放推送 极光 小米 umeng 之类 都是长连接实现,省事。 如何保证service一直运行?一般通过注册各种广播事件(BroadcastReceiver)收到广播后检测service和链接状态。已安装未启动看你注册广播的形式。 notification的形式是怎样的?自己下个 demo 看吧。问的太模糊。 |
3
LMkillme 2014-11-05 01:33:39 +08:00 1
由于安卓的内存管理机制,安卓可以一直存活在后台,只要不被杀死就可以保持socket链接,所以没有推送的问题,在后台也可以通过socket发送消息,但是socket耗电,不是很好的实现方式,用推送方式还是比较好的解决方案。iOS就没办法只能用Apns了
|
4
fofoone 2014-11-05 01:41:28 +08:00
@LMkillme
别逗,第三方推送都是 scoket长连接 实现。一般都是经过 线程优化 TCP内存优化,链接回收优化等等(主要是服务端)... |
7
wangleineo OP @fofoone 一般通过注册各种广播事件(BroadcastReceiver)收到广播后检测service和链接状态。已安装未启动看你注册广播的形式。
不太明白。如果在manifest里面声明了一个service,安装app后这个service就会一直运行? 注册什么广播事件呢?谁来发送事件? |
8
fofoone 2014-11-05 10:17:48 +08:00
@wangleineo
安装app后这个service就会一直运行? 收到广播启动,或者开启应用启动。 什么广播事件?比如,网络状态切换,来电去电,电量状态,系统启动,屏幕打开关闭等。 谁来发?这种一般是系统发。 如果想多个 app 共享长连接,一般会自定义广播,互相唤醒。 |
9
Androilly 2015-05-21 10:59:11 +08:00
大多数都是通过第三方推送来达成,比较好的是个推推送
|
10
Hxqing 2016-11-28 11:20:16 +08:00
国内的 Android 推送多数是靠第三方推送实现的。
以云巴( Yunba.io )为例,客户端集成了云巴的 Android SDK ,服务端可通过云巴的 SDK 或使用 RESTful API ,向 Android 客户端发消息。 1.后台保持长连接。 Android SDK 会启动一个后台的 Service ,创建并保持到云巴服务器的长连接,从而保证了消息推送的实时性。 2.确保消息的送达。云巴 SDK 支持 离线消息 的功能,可保证消息送达客户端。 楼主上述的问题,或许下个 Demo 试试看就能解决~ Android : https://yunba.io/docs/android_demo_quick_start iOS : https://yunba.io/docs/ios_demo_quick_start |