search

Home  >  Q&A  >  body text

push-notification - Android怎么在墙内搞PushNotification啊

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

伊谢尔伦伊谢尔伦2773 days ago643

reply all(10)I'll reply

  • 伊谢尔伦

    伊谢尔伦2017-04-17 11:07:25

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

    reply
    0
  • ringa_lee

    ringa_lee2017-04-17 11:07:25

    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...

    reply
    0
  • 巴扎黑

    巴扎黑2017-04-17 11:07:25

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

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

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

    reply
    0
  • PHPz

    PHPz2017-04-17 11:07:25

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

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

    reply
    0
  • 黄舟

    黄舟2017-04-17 11:07:25

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

    reply
    0
  • PHP中文网

    PHP中文网2017-04-17 11:07:25

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

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

    reply
    0
  • PHPz

    PHPz2017-04-17 11:07:25

    看你的需求了。

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

    reply
    0
  • PHPz

    PHPz2017-04-17 11:07:25

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

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

    reply
    0
  • 黄舟

    黄舟2017-04-17 11:07:25

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

    reply
    0
  • 天蓬老师

    天蓬老师2017-04-17 11:07:25

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

    reply
    0
  • Cancelreply