《电子技术应用》
您所在的位置:首页 > 通信与网络 > 解决方案 > 简单四步学会AltBeacon安卓APP开发

简单四步学会AltBeacon安卓APP开发

2015-08-27
关键词: Beacon AltBeacon

如果将Beacon应用于故宫博物馆导览,想象一下,当游客走到一个不明觉厉的青铜方樽面前,只要拿起手机就能快速了解它的主人、出土信息和花纹的寓意,再也不用担心被人嘲笑没文化了。这一切都只要借助Beacon应用APP即可实现。

今天,我们讨论一下如何用AltBeacon安卓API开发Beacon原型APP。要完成这样一个设计,我们需要做五点设想:

1、博物馆内安装的所有的Beacon基站都在APP能够探测到的范围内;

2、APP能够默默地在后台运行并探测附近的Beacon;

3、当游客与Beacon基站的距离靠近至2m范围内时才会跳出弹窗,提示与这一Beacon相关的展品信息;

4、针对同一展品,APP不会不识趣地反复跳出提示窗;

5、能够查阅APP系统日志底层Beacon相关事件。 

开发步骤1:绑定服务,设定“区域”

首先,用AltBeacon API BeaconManager将APP与后台运行的AltBeacon库中的服务绑定。另外,要着手设定一个或多个“区域”。这里所说的“区域”是指一个或一组Beacon,由AltBeacon Beacon ID 域值来规定。

开发步骤2:APP程序类别

针对不同的显示界面(包括主要展品信息界面、Beacon事件日志界面)的活动类别、以及其他一些辅助性的Java类别,这个APP包括一个自定义应用程序类和一个Actiivity类别。AltBeacon API负责APP后台运行弹出,并提供一系列接口来支持与Beacon探测相关的回调函数。

开发步骤3:测定距离,更新范围

AltBeacon API支持“监测”与“测距”功能。监测功能会在APP进入某一个或某一组Beacon区域时生成事件。测距功能可以追踪游客距离某一组Beacon的距离,当两者近到一定程度时,就可以触发功能。

开发步骤4:定义最近的Beacon, 判断信息推送时间

有了Beacon列表以及每个Beacon与游客的距离估算值,要推算出哪个Beacon离游客最近应该是不成问题的。当APP收到范围更新时,就要判断是否需要执行相应的功能。具体来说,就是看哪个Beacon离游客最近、有没有近到需要向游客提示Beacon所对应的展品信息。如果最近的Beacon发生了变化,游客会收到提示信息。

测试问题1:现实世界中的Beacon探测

现实中,由于游客和Beacon之间的物理屏障或Beacon配置与之前设想的不同,也会出现一些纰漏。因此,与其中规中矩地根据AltBeacon库回调的数据行事,不如对算法进行适度的“模糊”处理——保留了最近15s的报告中提示位于范围内的Beacon的相关数据缓存,以及每个Beacon最近一次被探测到的精确时间,反而能改善Beacon APP的表现。 

测试问题2:如何判断推送时间

怎样判断当前时刻提示游客Beacon所关联的展品信息是否“合适”呢?主要看最后一次生成的通知是否为同一Beacon相关的,因为没有必要反复提示用户同一个展品的信息。还需要将估算的Beacon距离与既设的(触发行为的)最小距离值进行对比,判断游客是否足够靠近Beacon(也就是展品),然后决定是否发送展品信息。

QQ截图20150827135101.jpg

本站内容除特别声明的原创文章之外,转载内容只为传递更多信息,并不代表本网站赞同其观点。转载的所有的文章、图片、音/视频文件等资料的版权归版权所有权人所有。本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如涉及作品内容、版权和其它问题,请及时通过电子邮件或电话通知我们,以便迅速采取适当措施,避免给双方造成不必要的经济损失。联系电话:010-82306118;邮箱:aet@chinaaet.com。