曹礼玉
摘 要:物联网技术的日益发展,为智能化广告系统的完善和发展提供了技术支撑和保障。在这种发展及技术背景下,文章讨论一种基于Android的可交互广告设备开发,它是智能信息广告发布系统的终端设备部分,设备基于Android系统采用网络通信、触摸屏交互技术、Android的APP管理、视频解码、高清显示等技术,通过网络控制平台、网络信息传输及控制显示,实现图片、文字、视频、PDF,H5网页等多煤体素材广告宣传及基于触摸屏的H5网页、APP应用、电话呼叫等可选的附加交互技术,在社会各行各业得到广泛应用。
关键词:广告机终端;Android;APP应用;可交互技术
随着国家对物联网产业的日益重视,基于物联网技术的智能化广告也获得极大发展。我国日趋重视物联网产业和应用平台的发展,已将其提高到战略性地位,伴随着各大物联网应用平台的产生,物联网技术日益成熟,广告产业也面临着极大挑战。因此,基于物联网的智能化广告系统必将使得传统广告的技术系统、传播和商业模式发生翻天覆地的变化。基于Android的可交互广告终端设备,在系统无人机交互需求时用于播放图片、文字、视频、PDF及H5网页等多媒体广告素材[1],而在有業务办理需求时,依托于Android的强大可交互能力,通过H5网页、APP应用等技术实现业务办理。广告终端设备作为智能信息广告发布系统的终端设备部分,配合广告发布业务平台的强大功能,可实现广告播放素材内容定制、开放交互业务APP定制(如:手机营业厅开放自助服务APP功能,机场开放免费3分钟电话功能)。基于Android的可交互广告机设备终端,为信息发布及业务办理的自动化、信息化提供可行的解决方案。
1 整体架构
该设备整体架构可分为通信服务器、Web业务服务器、ftp服务器、广告机终端设备这4个部分,如图1所示,文章主要讨论其中的广告机设备部分。
1.1 通信服务器
通信服务器是整个系统的核心组成部分,它负责把Web业务服务器、广告机终端设备联合在一起,是整个系统的核心处理部分。广告设备与通信服务器间通过传输控制协议(Transfer Control Protocol,TCP)长连接通信,当信息发布人员/设备管理人员通过Web业务服务器来对广告设备进行控制管理,或者广告设备状态信息上报给Web业务服务器时,都必须通过通信服务器来传递数据[2]。
1.2 Web业务服务器
Web业务服务器是信息发布人员或设备管理维护人员为了实现相应业务功能的交互服务器,如:通过Web来操作配置设备安装或开放哪些应用apk、管理设备播放什么素材内容、统一管理设备开关机时间段、设备播放信息截屏、设备播放信息(播放记录)统计等各种业务功能。
1.3 ftp服务器
ftp服务器是用于存放设备需要的下载文件信息,或者用于保存设备上传的文件信息。如:用于存放Web业务服务器需求的或用于设备下载播放的素材、存放设备远程安装或升级的APP、存放设备上传的播放画面截屏、存放设备上传的播放记录信息以及设备上传的电话呼叫记录等。
1.4 广告机终端设备
广告机终端设备是整个系统方案的基础,它是实现一切功能的载体。设备通过WiFi/4G/有线LAN/PPPOE方式连接网络,通过TCP方式与通信服务器保持长连接来处理各项通信命令。业务管理人员将Web业务服务器需求的各项业务经过通信服务器把命令转达给广告机终端设备执行。设备在系统无人机交互需求时,用于播放图片、文字、视频、PDF及H5网页等多媒体广告素材,而在有业务办理需求时,依托于Android的强大可交互能力,通过H5网页、APP应用等技术实现业务办理。此外,为实现设备状态监控,设备还回传各项状态信息,如:设备软件版本号、内核版本、硬件型号参数、素材播放记录、播放画面截屏、电话呼叫记录、APP安装列表及开放给用户的APP列表等[3]。
2 软件设计
文章仅讨论其中的广告机设备部分软件设计实现,设备采用Android系统开发,广告机终端设备的软件功能组成如图2所示。
2.1 TCP通信模块
设备通过网络与通信服务器保持TCP长连接,设备与Web业务平台间的业务通信都通过此模块来完成。此部分主要完成的功能包括:建立TCP的socket长连接,设备登陆,各种通信命令回复及发起,并且每过5 min发送一次心跳包给平台进行socket连接保活,socket发送数据包协议封装,socket接收数据包后进行协议解析并处理等。
2.2 ftp模块
ftp模块是设备用于下载或上传需要的文件信息到ftp服务器。设备的ftp模块用于下载Web业务服务器需求的用于设备下载播放的素材及素材播放组织xml文件,下载设备远程安装或升级的APP,设备上传、播放画面截屏文件、记录信息,以及上传电话呼叫记录等。如设备管理员需要设备播放广告素材时,通过Web业务平台制作节目单,包括:播放显示分屏,播放时间段及时长相关参数,播放的素材内容(视频,图片,文本,PDF,HTML网页)。此时在ftp服务器中生成这些播放内容组织XML文件,素材在ftp中的位置索引,并把xml播放文件索引通过通信服务器发送给设备,设备收到命令并下载完xml、视频图片等素材文件后进行播放。
2.3 设备控制模块
设备控制模块是用于控制设备硬件相关的功能部分,主要包括:设备开关屏、按时间段自动开关机、设备音量调节、显示亮度调节、设备重启及关机等功能。确保广告机设备在收到Web业务平台的相关控制命令后,能按设备管理员的需求实现远程统一管理。
2.4 设备状态上报
设备状态上报是为了实现设备状态监控,Web业务服务器为了实现设备状态查詢而通过通信服务器把命令传达给设备后,设备要获取相应的状态信息返回给服务器。如:设备软件版本号、内核版本、硬件型号参数、存储器剩余空间等命令方式直接回传的参数,此外还有通过ftp文件的方式上报的素材播放记录、播放画面截屏、电话呼叫记录、APP安装列表及开放给用户的APP列表等参数。
2.5 UI交互监控模块
UI交互监控模块用于可触控广告设备实现是否有业务需求监控,从而区分有交互业务需求或无交互业务需求的场景,实现空闲时播放多媒体素材,有业务办理需求时进行业务办理。如:放置在营业厅的广告机设备可通过Web业务服务器远程安装自助服务APP,并把此APP开放给终端用户使用,而广告设备平时是在播放广告素材的。当有用户触控显示屏时,它弹出业务导航界面,用户可以选择业务进行业务。当用户完成办理并离开时,UI交互模块自动检测并切换回素材播放画面,如图3所示。
2.6 素材播放模块
素材播放模块是用于非触控屏设备或可触摸屏设备。在空闲时用于播放图片、文字、视频、PDF及H5网页等多媒体广告素材。设备根据业务平台生成的xml播放分屏及素材内容组织文件,按相应的要求进行各种素材播放。
2.7 应用APP管理模块
应用APP管理模块是设备管理APP的安装及开放业务给终端用户的模块,如:安装并开放百度地图APP用于机场/酒店方便相关人员查阅,手机营业厅开放自助服务APP功能。广告机设备实现APP安装管理,已安装APP列表查询及配置开放哪些APP给终端用户,通过UI交互监控模块实现有交互需求时把相应的业务APP开放给用户使用,如图4所示。
2.8 电话管理模块
电话管理模块是开放于机场、车站等场所的一种附加业务模块,当设备检测到有电话手柄摘机操作时,会弹出电话导航界面,包括紧急电话、免费电话、IC卡电话、网络支付电话。其中,免费电话针对每个被呼叫手机号码进行限制,每小时可呼叫3 min,而IC卡及网络支付电话通过业务平台配置的电话费率进行计价(管理员按规定的格式修改费率表,若未配置费率表,则使用默认费率计费),如图5所示。
3 应用案例及效果
基于全志A8,瑞芯微rk3128,rk3288,rk3368等sdk基础上的Android方案广告机设备项目全套研发完成,正常生产并推向市场。主要应用案例有福建电信、河北移动、辽宁移动、重庆联通、成都普惠金融、机场(福州、厦门、长春、南京、三亚、南昌、西安、郑州等机场)。该设备联合Web业务平台,为信息发布及业务办理的自动化、信息化提供可行的解决方案。
[参考文献]
[1]阎石.数字电子技术基础[M].5版.北京:高等教育出版社,2006.
[2]李刚.疯狂Android讲义[J].北京:电子工业出版社,2011.
[3]比尔,布莱恩.Android编程权威指南[M].王明发,译.北京:人民邮电出版社,2014.