push-notification - Android怎么在墙内搞PushNotification啊
伊谢尔伦
伊谢尔伦 2017-04-17 11:05:25
0
10
570

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

伊谢尔伦
伊谢尔伦

小伙看你根骨奇佳,潜力无限,来学PHP伐。

모든 응답 (10)
伊谢尔伦

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。
      但是有一点:可以让用户控制。好的推送,一定是用户同意的情况下的推送。
      否则就是垃圾广告了。

        PHPzhong

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

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

          黄舟

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

            Ty80

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

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

              PHPzhong

              看你的需求了。

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

                PHPzhong

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

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

                  黄舟

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

                    Peter_Zhu

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

                      최신 다운로드
                      더>
                      웹 효과
                      웹사이트 소스 코드
                      웹사이트 자료
                      프론트엔드 템플릿
                      회사 소개 부인 성명 Sitemap
                      PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!