`

Android消息推送机制调研

 
阅读更多

Android消息推送机制调研

技术选型

     轮询(PULL)

       简介:循环主动定时获取服务器消息

       优点:实现简单,可控性强,部署成本低。

       缺点:需要客户端定时或者周期性的服务器接口,太慢则造成消息延迟,太快则消耗电量、流量,实时性差。

       适用情形:更新不是很频繁的应用,比如手电筒、天气之类的功能性应用。

    长连接(PUSH)

      简介:客户端与服务器端建立一个基于TCP/IP的长连接,服务器就可以向客户端发送消息。

      优点:实时性好,协议成熟,强大,可扩展性好,多用于聊天系统,有开源的方案androidpn。

      缺点:协议较复杂,部署成本高。

基于长连接的实现方案

       基于MQTT协议实现消息推送方案

              基于IBM的MQTT协议实现,服务器端没有开源,需要收费,资料文档也很少。

              参考:MQTT简单例子

                   Android推送通知指南

       基于XMPP协议实现的消息推送方案

1)         谷歌的GCM实现消息推送

                  壮哉我大天朝,地球人都知道,特色国情,服务时断时续不稳定

              使用教程:https://developers.google.com/android/c2dm/

2)         开源的androidpn实现

                   源代码网址:http://sourceforge.net/projects/androidpn

                   使用教程:http://blog.csdn.net/berber78/article/details/7638673

                   代码笨重,需要结合自身应用做二次开发,米聊采用的是这种方案。 

3)         国内消息推送服务提供商

个推:官方说法和百度、新浪都有合作案例,不知真假。文档、技术支持都很全。

                   参见其网页介绍:http://www.igetui.com/home.htm

              激光推送:有很好的文档、及入门案例

                   网页介绍:http://www.jpush.cn/

参考实现

         实时性要求低:

                   可以采用轮询机制,客户端向服务器端拉取数据,判断是否有更新并向用户提示,当用户点击应用时,在向服务器接口获取最新的应用详情。

         实时性要求高:

                   采用长连接机制,推拉相结合,再根据产品具体需求,判断是通过自己搭建长连接服务,还是采用服务商方案。

分享到:
评论

相关推荐

    基于安卓Android的SNS社交网络客户应用需求调研报告.doc

    尽管微信功能强大,但存在无法进行消息推送的问题,用户必须打开应用才能看到新消息。 2. 米聊: 米聊是国内较早的社交应用之一,特色在于其语音聊天、群聊、涂鸦功能以及与人人网、MSN好友的连接。米聊的找朋友...

    基于android平台的聊天软件设计与实现.docx

    3. **关键技术的研究与实现**:例如,数据传输技术(Socket编程)、数据库管理和消息推送机制等。 4. **软件功能的实现**:具体实现了用户注册、登录、好友一对一聊天、群组聊天等功能模块。 5. **系统测试与优化**:...

    基于Android手机app开发与设计__毕业设计__开题报告.pdf

    5. 引入第三方库如Firebase进行实时通信和推送通知。 6. 实施用户权限管理,确保隐私保护。 7. 进行详尽的测试,包括单元测试、集成测试和性能测试,以优化应用性能和稳定性。 研究方法可能包括文献调研,了解现有...

    移动编程 拼车软件 源码 计划书 需求分析 Android

    开发过程中需遵循Android的设计规范,利用Android SDK提供的API和服务,如GPS定位、地图服务、推送通知等。开发完成后,还需要进行单元测试、集成测试,确保软件在不同设备和Android版本上的兼容性。 综上所述,...

    工程硕士学位论文 基于Android+HTML5的移动Web项目高效开发探究

    除此之外,用户需要亲临检测机构实地送检,在检测的每一个环节用户也无法有效的进行追踪,这些都制约着认证检测领域的进一步发展。鉴于市场上用户的手机型号、种类、屏幕分辨率等参差不齐,传统方式根据主流系统分别...

    2021032801_保险营销App设计与实现.rar

    10. **推送服务**:集成极光推送或Firebase Cloud Messaging等服务,实现实时消息推送,如保险产品更新、优惠活动通知等。 11. **测试与部署**:进行单元测试、集成测试以及性能测试,确保软件质量。最后,将项目...

    Smack类库详细说明文档

    3.2 用户离线状态:类库允许获取和设置用户的在线/离线状态,支持推送通知以实时同步其他用户的状态变化。 3.3 聊天与群聊:Smack 支持一对一聊天和多用户聊天室,可以发送文本、多媒体消息,以及自定义扩展消息。...

    电子商务管理

    这部分内容可能涉及到如何构建和优化Android平台上的电子商务应用,包括用户界面设计、支付集成、订单管理、商品展示、推送通知等功能的实现。开发者需要掌握Android SDK、Java或Kotlin编程语言,以及如何利用Google...

    什么是移动应用开发-关于移动应用开发的相关介绍

    开发人员需要根据设计稿实现应用的各项功能,包括但不限于用户认证、数据同步、消息推送等。这个过程中,还需要考虑性能优化、安全性等方面的问题。 ### 四、测试阶段 #### 4.1 功能测试 确保所有功能都能够按照...

    讲的是项目开发问题

    为了进一步吸引用户并提高应用的用户粘性,项目团队计划在未来的迭代中引入社交分享、用户讨论、个性化广告推送以及激励机制等增值功能。 在项目组织与实施阶段,组建了一个由五名成员构成的项目组,各司其职:UI...

    qq微信微博分享demo

    在移动应用中,分享功能可以让用户将文字、图片、链接、视频等各种形式的信息推送到不同的社交平台,从而提高内容的传播性和用户的互动性。 该项目的描述提到,它是一个去除了分享回调的示例。回调函数在编程中是...

    东南大学校园C2C平台项目概述1

    3. 平台通过智能算法匹配供需双方,优先推送时效性高的需求。 三、服务结算方式 平台作为中间人,设定明确的服务费标准。甲方在发布需求时预付物品购置费和服务费,若交易成功,费用进入乙方账户;若需求取消,则...

    APP划书.rar

    同时,要规划用户留存策略,如推送通知、积分系统、会员服务等,以提高用户的黏性和活跃度。 6. **项目时间表与预算** 明确项目的开发周期,包括预研、设计、开发、测试和上线各个阶段的时间节点。同时,详细列出...

    创业计划书-APP移动应用-美食俱乐部APP产品策划书

    - **个性化推荐**:根据用户的喜好和行为习惯,推送定制化的菜谱和餐厅信息。 4. **技术实现**: - **前端开发**:使用React Native或Flutter等跨平台框架进行APP开发,确保在iOS和Android上具有良好的用户体验。...

    关于APP移动应用的商业计划书.rar

    - **用户保留**:设计有效的用户保留策略,如推送通知、积分系统、定期更新等。 4. **商业模式**: - **收入来源**:分析可能的盈利方式,如应用内购买、广告收入、订阅服务等。 - **定价策略**:讨论应用是否...

    计算机科学与技术_基于微信小程序的物业管理系统的设计与实现.docx

    2. **住户查看通知模块**:推送最新的物业公告、活动信息等,确保住户及时获取社区动态。 3. **住户个人缴费模块**:提供在线支付功能,便于住户完成物业费、水电费等相关费用的缴纳。 4. **住户报修模块**:住户...

    PRD2018-G07-软件概要设计说明书1

    客户端通过网络连接服务器,实现数据同步、请求响应和推送通知。 管理端接口 ---------- 管理员界面用于后台管理,包括用户管理、内容审核、活动审批和数据分析等功能。 总结 ----- “渔乐生活”APP的设计着重于...

    基于微信小程序的网络报修系统的设计与实现.pdf

    维修人员则可以根据系统推送的信息,及时安排维修工作,确保故障得到迅速解决。 在系统安全方面,考虑到用户的隐私保护和数据安全,采用了加密技术,对用户信息和报修数据进行加密存储和传输,防止数据泄露。同时,...

    媒体

    这些平台利用算法为用户推送个性化内容,同时为企业提供了广告和市场调研的新途径。 4. 内容管理系统(CMS): WordPress、Drupal和Joomla等CMS系统使非技术人员也能创建和管理网站,发布新闻、博客、产品信息等...

Global site tag (gtag.js) - Google Analytics