Android系统的高校教务信息推送功能设计与实现
中图分类号:TP311文献标识码:A文章编号:1009-3044(2016)17-0073-03
专用的智能手机APP加云服务平台是智慧校园的主流架构,在这套系统中又可以包含许多子系统,比如教务管理系统,教学管理系统,论文网图书馆管理系统,后勤管理系统等。本文探讨的功能属于教务管理系统中的一个子功能,目的是让教务管理人员能够第一时间将一些重要的教务信息通过推送服务发送出去,学生或者教师在Android系统上能够第一时间通过推送服务收到相关的教务信息。这其中涉及三个方面的问题,首先是推送的教务信息包含的内容及形式,其次是Android平台上有哪些主流推送方案,最后是选择一种笔者认为适用于高校的推送方案来实现此功能原型。
1高校教务信息推送功能设计
根据高校教务管理的一般特点,可用于推送服务的高校教务信息内容多以通知为主,以与学生相关的教务信息为例,可以包含选课通知,校历查看通知,课表查看通知,考试通知,分数查看通知,补考通知,调课。停课通知等,如图1所示。
<由此可见,在这种架构下,发送简单的字符信息不仅可以满足日常的教务信息推送功能,同时字符内容相对于富媒体可以大大降低推送服务器的负载,达到简单灵活高效的目的。
2Android平台的主流推送方案比较及选择
2。1官方方案
Google官方的C2DM,它是一个用来帮助开发者从服务器向Android应用程序发送数据的服务。该服务提供了一个简单的。轻量级的机制,允许服务器可以通知移动应用程序直接与服务器进行通信,以便于从服务器获取应用程序更新和用户数据。它有两个主要问题导致无法正常的在国内使用,首先是C2DM需要依赖于Google官方提供的C2DM服务器,由于国内的网络环境,这个服务经常不可用,如果想要很好的使用,我们的APPServer必须也在国外,这个恐怕不是每个开发者都能够实现的;其次是C2DM依赖于Google服务,但国内很多硬件厂商平台,比如摩托罗拉。华为。中兴做一部手机,他们可能会把Google的这种原生服务去掉,这样也就无法使用C2DM。
2。2开源方案
androidpn推送方案,它是一个XMPP协议的Java开源Androidpushnotification实现。它包含了完整的客户端和服务器端。XMPP(可扩展通讯和表示协议)是可扩展标记语言(XML)的协议,它用于即时消息(IM)以及在线探测。此方案的最大优势就是简单,我们不需要像C2DM那样依赖操作系统版本,也不会担心某一天Google服务器不可用。利用XMPP协议我们还可以进一步的对协议进行扩展,实现更为完善的功能。采用这个方案,我们目前只能发送文字消息,不过对于推送来说一般足够了。
2。3第三方方案
2。3。1国外公司
IBM的RSMB,它采用MQTT协议实现Android推送功能。MQTT是一个轻量级的消息发布/订阅协议,它是实现手机客户端的消息推送服务器的理想解决方案。但是它目前也存在两个主要问题,首先是它不开源,所以定制的功能也不多;其次是实际测试时发现RSMB的客户端不是很稳定,有时候会连接不上服务器,这些一定程度上影响了它的使用效果。
2。3。2国内公司
目前国内做推送比较出名的公司有个推。极光推送。百度云推送。友盟消息推送等,它们的共同点都是提供客户端及服务器端的SDK供开发者接入时使用,推送内容都经过第三方的服务器中转,代码都不开源但技术成熟可靠并有着很多大牌合作伙伴和成功案例。由于这些公司目前都是行业内的代表且长期致力于专业推送服务,所以它们在推送的稳定性和到达率。手机电量和流量。安全性。消息推送内容等方面差别不大。这些公司提供的SDK文档都很详细,接口简单,有专门的技术支持人员进行答疑指导,但是如果要使用推送的高级功能,是需要额外付费的。
2。4方案选择
综合以上各方案介绍,我们不难发现androidpn作为开源项目比较适合二次开发,但是从开源项目到实际商用,是需要很多人力物力的投入,对于大多数应用开发者,甚至一些中小企业,会转而考虑使用第三方的专业推送服务,这样省时省力。由于要推送的高校教务信息从内容上并没有保密性的需求,且基本上都是概要信息,具体的详细信息是通过高校自己的专用系统获取,所以可以放心选择第三方方案。考虑到国内公司更了解中国国情,所以我们可以优先考虑。由于这些公司提供的服务差别不大,我们就选择国内做消息推送最早的极光推送方案来实现高校教务信息推送功能的基本原型。
3高校教务信息推送功能实现
此功能所在的系统架构为专用的智能手机APP加云服务平台,具体如图3所示:
要在此架构中实现信息推送功能,有6个重要步骤,如图3中的数字所示。
1)管理员通过Web登录教务管理系统云服务平台,输入要推送的内容。
2)云服务平台的Web服务模块将推送内容发送给推送服务模块。
3)推送服务模块将推送内容发送给极光推送服务器。
4)极光推送服务器收到推送请求后将内容推送给所需对象,学生在Android手机上收到推送消息后进行查看并决定是否继续查看详细内容。
5)如果选择查看详细内容则打开专业APP向云服务平台请求数据。
6)云服务平台将相关数据发送给专业APP。
开发前需先在极光推送官网进行APP注册,包括APP的名称。图标。包名,如图4所示。
4结束语
本文按照程序开发的一般流程,从功能设计,方案选择,功能实现向大家介绍了如何快速高效稳定的实现Android系统的高校教务信息推送功能。当然,在移动互联网技术百花齐放的今天,实现信息推送功能的方法有很多,本文只是从笔者认为最适合高校教务信息推送功能需求的角度出发,选择其中一个方案进行了原型实现,目的是给有同样开发需求的人一个选择参考。
Android系统的高校教务信息推送功能设计与实现