亚洲城娱乐Android怎么在墙内搞PushNotification啊

( 亚洲城娱乐 )

羡慕嫉妒恨死iOS开发者了,苹果提供了很好的pn服务,超级方便。
google本来也有C2DM服务,但是被GFW了,各种不稳定
如果自己搞一个Service轮询,非常容易就被用户干掉
求一个方案,在墙里怎么做这种push服务啊,还得兼容各种版本

google 新出来一个 google cloud messageing for android 但是也不是所有的版本都兼容。 应该可以的。http://developer.android.com/guide/go…

android推送确实很麻烦,最近也在弄
网上搜也是很多方案
1. C2MD就不用说了,除了不稳定之外,似乎还需要能绑定google帐号的手机才行,国内的android厂商的ROM各种阉割,很多google服务也不能用了

2. 轮循去取数据似乎太耗电,也容易被kill掉,不过对于非实时的消息获取感觉可以一试

3.用androidpn,有开源代码,不过缺点就是需要自己搭建服务器端(java),我试过感觉还行,网上也有各种改进版本,但是后来感觉不太稳定就没用了

4.用http长连接实现,也是需要自己搭建服务器端,目前我使用这种方案,但是没有大规模测试,所以也不知道能承受多少客户端
具体可以参考这个帖子:http://www.cnblogs.com/java-koma/arti…

5.使用MQTT协议,需要自己搭建服务器端,不过还需要跑一个代理服务器什么的,有点麻烦所以也只是测试过可用而已,可以参考这个帖子:http://blog.csdn.net/joshua_yu/articl…

楼主的问题,实际是二个问题:
1)技术上使用什么推送服务? Android上官方的用不了,那只好:要不自己折腾;要不使用第三方。
2)Push 在 Android被杀死怎么办?

第一个问题好回答:
如果不太愿意投入大多精力,那就使用第三方的吧。之前大多提供这个服务的都要收费,或者要允许接受广告;最近国内有个提供免费服务的出来:极光推送 http://jpush.cn ,建议去看看。

第二个问题:感觉挺麻烦的。
因为 Android手机,像之前 Windows PC 一样了,一个字:乱。
也只能是使用多种办法,让 Service 被唤醒。比如 RTC。
但是有一点:可以让用户控制。好的推送,一定是用户同意的情况下的推送。
否则就是垃圾广告了。

MQTT 基于Socket长连接,自带心跳保持连接,断线重连,协议简单非常省流量
已经在我们公司的项目中成功运用
代理端(既Broker) 使用Apache Apollo ,稳定,高速http://activemq.apache.org/apollo/
客户端使用 Eclipse Paho 项目
推送服务端支持各种语言
http://mqtt.org/software
调试可以使用这个工具
mqtt-debugger

至于被用户干掉,可以用startservice启动服务,被普通结束后会自动重启并重连
再监听网络改变的广播,当接入网络再启动服务,绝对常驻

androidpn 我有开始试用,效果还不错,也开源,xmpp协议的,如果你的客户端量不大的话,可以考虑用这个。
如果你的激活量已经好几十万了,我觉得你可以考虑用一些商用的推送方案,国内“个推”做得比较好,微博的推送也是用这个的。

在一键优化面前,push service的留存率太低了!~
1,需要联网会被流量监控和谐,好吧,我就讨厌后台默默跑流量的服务,特别还不是系统的,卸载又没啥影响的
2,自启动也会被启动优化搞掉

之前有试过,最后的最后还是合并到应用里去了

看你的需求了。

频率不高的话, 后台开个接口,然后客户端轮询就是了。
频率高的话,可以看下国内的推送服务,个推或者极光推送。

国外的,urbanairship挺好用的,没有被墙,实际使用中也没有遇到网上传说的速度问题,基本上几秒内就能收到推送。

国内的,
个推,没用过,不太了解。http://igetui.com/
极光推送:http://www.jpush.cn/。 试用过一下,还可以。

一般我的做法是,直接再跑一个Service,定时去服务器检测消息。。。
真的要做成Push的话,貌似没办法

在用第三方的push,urban-airship, using the free package now.

(看完/读完)这篇文章有何感想! 亚洲城娱乐的分享…

发表评论

电子邮件地址不会被公开。 必填项已用*标注