基于Android平台的推送技术应用设计与实现

2017-08-08 01:20陈三清
无线互联科技 2017年14期
关键词:极光好友消息

陈三清,殷 鹏

(攀枝花学院 数学与计算机学院,四川 攀枝花 617000)

基于Android平台的推送技术应用设计与实现

陈三清,殷 鹏

(攀枝花学院 数学与计算机学院,四川 攀枝花 617000)

推送技术在移动平台上有着非常重要的应用,文章首先介绍了推送技术的概念、推送方式及常见推送框架;针对高校群体手机使用非常普及的情况,提出了基于第三方平台的APP设计方案和流程设计,重点阐述了各模块的功能设计,实现了推送技术的应用。

消息推送;Android;推送框架;好友聊天

随着4G时代的到来,智能手机、平板电脑等各种智能设备在大众日常生活中普及,人们可以方便地利用高速的移动网络或无线网络获得各种各样的消息和信息;如何在爆炸式、海量的信息中让用户获得感兴趣、有价值的信息,越来越多的软件应用服务商不再被动地等待用户主动请求信息服务,而是主动地向用户推送消息,提供用户应用的存留率;一般来说,应用服务商在进行消息推送时会根据用户的使用特征、兴趣、喜好等来判断用户希望接收到的信息,然后将分析后的消息推送给用户,使用户获取尽可能有价值的消息。

1 推送技术简介

推送技术(Push Technology,PT)是由服务端向客户端主动发送消息的一种技术。它不用客户发出请求,而是把信息自动地传送给客户,减少客户使用网络搜索信息的时间,主动为客户提供有价值的信息[1]。目前消息推送方式主要有轮询(pull)、SMS(push)、TCP/IP持久的长连接(push)3种方式[2],成熟的消息推送实现方案中主要基于两种通信协议:可扩展通讯和表示协议(Extensible Messaging and Presence Protocol,XMPP)和消息队列遥测传输(Message Queuing Telemetry Transport,MQTT),基于XMPP协议的成熟的实现框架有Openfire和AndroidPn;Google提供了C2DM服务[3],实质上也是基于XMPP协议的;MQTT是由IBM公司提供的,一个轻量级的消息发布/订阅协议,它是实现基于手机客户端的消息推动服务器的理想解决方案。

目前有很多第三方网站提供免费的消息推送服务及开发框架,如百度云推送、个推推送、友盟推送、极光推送等[4],这些网站提供服务器和应用开发的接口,开发者只需在应用中添加开发组件,就可以免费使用消息推送服务,这对于对推送消息没有很苛刻要求的中小规模的企业或单位来说,搭建这样的小型应用是非常经济实惠的。针对目前高校教师学生群体使用手机非常普遍这一情况,本文采用极光推送平台搭建基于Android平台的消息推送系统,设计一款具有消息推送和聊天功能的软件,为高校教师学生群体提供免费的消息推送服务。

2 软件功能设计

基于手机平台的消息推送软件,系统架构一般采用C/S模式,服务器的提供数据处理、消息推送服务,客户端(手机端)用来接收消息,当然也可以向服务器端发送服务请求。由于极光推送平台免费提供服务器及推送服务,还提供基于客户端的软件开发框架,因而基于Android平台的消息推送方案设计只需关注APP端的功能设计及实现。

2.1 APP功能设计

根据软件实际使用需要和设计要求,手机客户端总体模块功能划分及定义如图1所示。(1)“通知”模块:主要用接收服务器推送过来的消息,以列表的形式展现出来;(2)“信息”模块:主要用于好友之间进行实时在线聊天,可以接收好友发来的信息,同时发送信息;(3)“好友”模块:用于实现好友邀请、建好友群组、好友列表等功能;(4)“设置”模块:用于实现与应用相关信息的更改和保存等功能。

图1 软件功能模块

2.2 流程设计

基于极光推送服务的APP软件,必须要向极光服务平台注册后登录才能使用此软件,因此在APP软件要设计注册/登录模块,使用流程如图2所示。

图2 注册/登录模块

3 系统实现

3.1 准备工作

在完成界面设计后,进行软件编码时,需完成以下工作:

(1)注册成为极光开发人员,获得Appkey,下载极光IM的SDK。因为极光IM已经包含了即时通信和消息推送,所以不用再下载极光JPush的SDK。将jar包导入AndroidStudio,并且添加依赖。

(2)在Application进行全局声明。对极光的推送和即时聊天进行初始化。主要代码如下:

(3)在AndroidManifest.xml中配置权限,如网络访问权限、SD卡的读写权限、JPush开发必要的权限及接收推送信息的Receiver组件。

3.2 关键实现

3.2.1 注册/登录模块

注册/登录功能的实现主要是通过JMessageClient类实现的,其register方法将注册名和密码发送到后端服务器,通过判断返回代码的值获知注册是否成功,方法如下:

登录是通过的JMessageClient类的login方法实现,将用户名和密码发送到后端服务器验证,根据返回结果决定是否进入主界面,方法如下:

实现界面如图3—4所示。

图3 注册界面

图4 登录界面

3.2.2 通知模块

通知模块用来处理服务器推送过来的信息,解析出Intent的中包含的通知信息、自定义信息,以及定义用户点击了通知信息后采取的动作。

实现接收消息的类,继承自BroadCastReceive主要代码如下:

“通知”界面和详情如图5—6所示。

图5 “通知”界面

图6 “通知”详情

3.2.3 消息模块

消息模块的功能主要是用于好友之间在线聊天,主要分为消息的接收和发送。消息的接收和发送的文件类型主要分为文本类型、图片类型、语音类型。在接收到消息之后,对消息进行解析,判断消息类型是哪一种类型,从而进行不同的消息本地存储。

接收好友发送的消息:

发送消息界面如图7—8所示。

图7 发送消息界面

图8 发送消息后界面

3.2.4 好友模块

好友之间进行在线聊天之前,必须要添加好友,发送好友邀请,其主要实现如下:

此外,该模块还可以展现好友列表,在好友之间建立群组,实现效果如下图9所示。当接收到好友发送过来的消息时,在消息界面进行显示。当用户还未点击进入查看消息数量时,消息数量会不断地累加。并且以小红点的形式来显示,实现界面如图10所示。

4 结语

推送技术是当前最新的计算机信息技术,也是非常热门的计算机应用技术,在移动设备上有着非常重要的应用,现在的智能手机都支持消息推送,故通过使用推送技术,可向广大的手机用户主动推送用户感兴趣的、特定的信息服务,从而提高用户了解、阅读信息的效率;针对高等学校教师、学生使用手机普及率非常高的情况,本文设计了一款基于Android手机的推送通信软件,免费为广大师生信息推送服务,具有一定的应用价值。

图9 好友列表界面

图10 接收消息界面

[1]李丹锋,尹丹云,陈潇潇.基于Android平台的推送技术在移动OA中的应用[J].制造业自动化,2014(12):17-18.

[2]许金喜,张新有.Android平台基于MQTT协议的推送机制[J].计算机系统应用,2015(1):185-190.

[3]邹海,李强,邱慧丽.基于AndroidC2DM服务的云端推送研究与实现[J].计算机技术与发展,2012(7):29-32.

[4]汪海占,邸萌,黄祥林.基于XMPP协议的Android消息推送设计与实现[J].科技广场,2015(2):40-46.

Design and implementation of push technology application based on Android platform

Chen Sanqing, Yin Peng
(Mathematics and Computer School of Panzhihua University, Panzhihua 617000, China)

The push technology has a very important application in the mobile platform. This paper first introduces the concept, the push approach and common push framework. In view of the groups of college students using mobile phone is very popular, the paper put forward the APP design scheme and the process design based on the third party platform, focuses on the function design of each module,realizes the application of push technology.

message push; Android; push framework; chat with friends

攀枝花学院省级大学生创新创业训练计划项目;项目编号:2015cxcy055。

陈三清(1980— ),男,湖北广水,硕士,讲师;研究方向:移动互联网技术与应用。

猜你喜欢
极光好友消息
基于U-net的紫外极光观测极光卵形态提取
属羊
极光之上的来客
神奇的极光
消息
消息
消息
雪花特快专递