更新日志
2015年10月16日
新增功能:
-
高精综合网络连续定位,实现精准实时轨迹追踪;
-
支持实时位置和历史轨迹查询;
-
推出地理围栏服务,实现当被追踪者进出设定地理区域时,云端自动推送报警;
Android SDK v2.0
2015年10月27日
新增功能:
完善对CPU架构的支持,目前已支持:
arm64-v8a
armeabi
armeabi-v7a
x86
x86_64
修复问题:
修复鹰眼服务重启失败的bug
Android SDK:v2.0.1
2015年11月19日
新增功能:
新增纠偏后历史轨迹查询接口:queryProcessedHistoryTrack()
功能改进:
减小so文件体积
修复问题:
-
修复基站定位不准的bug;
-
修复用户未退出就切换其他用户登陆时,轨迹数据存储未做相应切换的bug;
Android SDK:v2.1.0
2015年12月17日
新增功能:
新增实时定位接口,用于获取当前位置,其中:
查询接口:LBSTraceClient.queryRealtimeLoc()
回调接口:OnEntityListener. onReceiveLocation()
定位数据对象:TraceLocation
功能改进:
优化定位数据离线缓存策略,即使开启轨迹服务时未联网,SDK也将采集定位数据并缓存,待联网后再回传数据。
修复问题:
\1. 修复当traceType=1时,用户登出后再登录时,SDK立即登出的bug
\2. 修复SDK在某些机型上闪退的bug
Android SDK:v2.1.1
2015年12月29日
修复问题:
修复实时定位接口已知 bug
Android SDK:v2.1.2
2016年1月8日
修复问题:
修复在断网时,轨迹上传顺序错乱问题
Android SDK:v2.1.3
2016年2月19日
功能改进:
优化室内漂移问题
Android SDK:v2.1.4
2016年3月11日
新增功能:
增加设置定位模式接口:void SetLocationMode(LocationMode mode),支持三种定位模式:
-
High_Accuracy:高精度模式(同时使用GPS、Wi-Fi、基站定位,优先返回最高精度的定位结果)
-
Device_Sensors:仅设备定位模式(仅使用GPS,不使用Wi-Fi、基站定位,这种模式下不支持室内定位)
-
Battery_Saving:低功耗模式(不使用GPS,仅使用Wi-Fi和基站定位)
功能改进:
1.兼容android 6.0
Android SDK:v2.1.5
2016年3月16日
修复问题:
- 修复在某些机型上,判断联网状态的bug
Android SDK:v2.1.6
2016年3月23日
功能改进:
- 定位频率和打包周期由之前的1分钟延长至5分钟,适应更多应用场景,更加节省电量和流量。
Android SDK:v2.1.7
2016年5月3日
新增功能:
增加queryFenceStatusByLocation方法,通过指定的经纬度查询被监控对象的状态。
功能优化:
创建围栏时,由之前的可同时监控5个对象,修改为仅可监控一个对象。
Android SDK:v2.1.9
2016年5月13日
修复问题:
- 修复2.1.9版本轨迹上传的bug,请已使用2.1.9版本的开发者尽快更新为新版本。
Android SDK:v2.1.10
2016年6月6日
修复问题:
修复在starttrace前setInterval方法不生效的bug
Android SDK:v2.1.11
2016年7月13日
新增功能:
历史轨迹查询接口新增processOption参数,开发者可自行开启或关闭各纠偏选项,调整纠偏效果。
目前支持的选项有:去噪、抽稀、绑路。
需要使用绑路的开发者无需再发邮件开通绑路,可自行在此接口中设置。
功能改进:
开启轨迹追踪时遇到断网,不论是否收到网络广播,SDK都将定时与服务器重新建立连接。
修复问题:
-
修复轨迹点未严格按定位时间上传的bug
-
修复查询service是否存活时出现误判的bug
Android SDK v2.1.12
2016年8月1日
新增功能:
- 新增多边形围栏功能,支持创建、更新、查询多边形围栏
围栏创建、更新和查询接口中增加多边形围栏参数
2.新增围栏去噪功能,当轨迹点定位误差半径大于设定值时,将不进行围栏计算
创建和更新围栏接口新增precision参数,当轨迹点定位的误差半径(radius)大于precision时,将 被认为是噪点,不进行围栏计算。
-
新增里程计算接口queryDistance( ),专用于查询一段时间内轨迹的里程。
-
新增里程补充功能
老版本在计算轨迹里程时,对于轨迹中断5分钟以上的区间,不计算里程。新版本中对这种处理方式进行了改进,在里程计算接口queryDistance( )中新增了supplement_mode参数,设置里程补充方式,目前提供五种方式:
no_supplement:不补充,中断两点间距离不记入里程。
straight:使用直线距离补充
driving:使用最短驾车路线距离补充
riding:使用最短骑行路线距离补充
walking:使用最短步行路线距离补充
默认值为:no_supplement,不补充
删除功能:
- 删除延迟围栏报警接口
Android SDK v2.1.14
2016年9月22日
新增功能:
-
新增本地围栏相关接口。离线围栏区别于服务端围栏,是两套独立的围栏体系。本地围栏只能在SDK创建,围栏判断也在SDK中完成,当SDK能够获取到GPS信号时,即使手机处于断网状态,本地围栏也能进行围栏计算与报警。
-
新增本地围栏报警推送标识:0x04,消息格式与服务端围栏报警保持一致
-
新增gps状态广播(action为【com.baidu.trace.action.GPS_STATUS】)开发者可通过该功能实时获取GPS状态。
状态信息获取方式:
int statusCode = intent.getIntExtra("statusCode", 0);
String statusMessage = intent.getStringExtra("statusMessage");
状态码和状态消息对应如下:
statusCode statusMessage
0 已通过GPS定位
1 正在搜索GPS
2 已关闭GPS
3 未授予GPS定位所需权限
功能优化:
-
优化数据上传,当有缓存数据时,加快上传。
-
增加新权限,用于提升GPS首次定位速度
<uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" /
Android SDK v2.1.15
2017年2月22日
修复问题:
-
修复在华为 Android 7.0机型上,获取GPS数据时异常问题
-
修复so文件在某些机型加载失败问题
Android SDK:v2.1.16
2017年4月18日
新增功能:
-
新增线型围栏、行政区划围栏
-
新增图片对象数据上传、获取、查询接口
3.新增轨迹分析接口
-
新增实时位置查询接口
-
新增设备管理接口
-
新增缓存轨迹查询、删除接口,缓存轨迹区分entityName
7.API请求增加请求标识,用于唯一区分每个请求,支持并行调用
功能优化:
- 拆分服务控制接口:
startTrace()负责初始化服务及与服务端建立长连接;
stopTrace()负责停止服务并断开长连接;
startGather()负责开启采集;
stopGather()负责停止采集。
- 调整轨迹客户端LBSTraceClient中所有对外接口,接口参数均采用对象传入
Android SDK v3.0.1
2017年5月17日
新增功能:
- 增加添加单个轨迹点和批量添加轨迹点api接口:
LBSTraceClient.addPoint()
LBSTraceClient.addPoints()
-
Entity搜索接口增加排序方法(com.baidu.trace.api.Entity.SortBy)、AroundSearchRequest、BoundSearchRequest、SearchRequest。调整排序类型SortType,由com.baidu.trace.api.track.SoryType调整为com.baidu.trace.model.SortType;
-
新增前台广播接口(Trace.setNotification()),在 startTrace()前调用该接口可将鹰眼服务由后台转成前台,有助于保持鹰眼服务的存活并提升系统定位的更新频率。注意设置Notification的图标时,图标不要过大,具体可以参考demo中图片大小,图标过大时会导致服务开启失败。谷歌关于该功能的说明请见:后台位置限制 和 Android O行为变更中关于后台执行限制的说明
-
新增缓存空间大小限制接口(LBSTraceClient.setCacheSize()),用于控制鹰眼在离线缓存时占用系统内存的最大值,避免因鹰眼持续缓存导致系统内存被占满。设置该值后,则一旦鹰眼缓存达到设定值,鹰眼将删除本地缓存的旧数据,保证新数据的存储。若不设置该值,则鹰眼将持续缓存轨迹,若系统内存被占满,则新的轨迹数据将无法写入。但即便出现长时间断网,鹰眼SDK缓存数据所占用的空间仍然很小,若无特殊限制要求,无须调用该接口。
-
实时定位结果TraceLocation中增加定位类型(com.baidu.trace.model.LocType),用以标识每次定位结果是通过网络还是GPS进行定位
功能优化:
-
启服务监听器(OnTraceListener),增加bindService()回调接口OnBindServiceCallback(),用于通告鹰眼服务是否已成功运行。开发者需在收到OnBindServiceCallback()回调成功后才可调用开启采集 startGather() 或停止采集stopGather()等操作,否则会返回【服务未开启】
-
优化删除缓存数据接口,支持删除entity指定时间段内的缓存轨迹信息
修复问题:
1.修复同时收到多条服务端围栏报警推送时,解析异常的bug
Android SDK v3.0.2
2017年6月9日
修复问题:
-
修复与全景sdk冲突问题
-
修复某些情况下,启动服务时因数据库异常导致crash问题
-
修复其他已知bug
Android SDK:v3.0.3
2017年6月30日
新增功能:
-
实时位置搜索接口增加多边形搜索、行政区搜索。
-
轨迹分析-驾驶行为接口增加急加速、急减速、急转弯阈值参数
修复问题:
-
修复鉴权失败bug。
-
修复多线程操作本地围栏时的同步问题
-
修复多线程操作数据库时,数据库锁定问题
-
修复其他已知bug
Android SDK:v3.0.4
2017年9月22日
新增功能:
-
轨迹自定义属性接口增加定位时间参数,单位为毫秒。该参数为当前轨迹点的定位时间 Map<String, String> onTrackAttributeCallback(long locTime)
-
为应对设备时间不准导致轨迹点定位时间不准问题,鹰眼SDK引入了使用GPS时间校正定位时间的机制,并新增了设置时间校准阈值接口:setLocTimeOffset()。当开发者设置了时间校准阈值后,鹰眼SDK在每次采集轨迹点时若获取到GPS定位,则计算GPS时间与设备时间之差,若差值小于或等于时间校准阈值,则采用设备时间为轨迹点的定位时间;若大于时间校准阈值则采用GPS时间为轨迹点的定位时间。
-
增加初始化线程池配置接口:initThreadPoolConfig(),开发者可设置最大线程数和核心线程数
功能优化:
- 调整定位采集最高频率由原来的2s改为1s
修复问题:
-
修复轨迹追踪服务自动重启时,未按照之前设置的采集、打包周期进行轮询的问题
-
修复LBSTraceClient与LBSTraceService不在同一进程时,因LBSTraceClient被回收,导致再次绑定时,对象存储服务未初始化问题
-
修复LBSTraceClient清除内存时,偶现空指针问题
-
优化实时定位权限检查逻辑,解决在某些情况下crash的问题
-
修复某些情况下,bos重复初始化问题
-
修复其他已知bug
Android SDK:v3.0.5
2017年10月23日
修复问题:
-
修复某些场景下,本地围栏根据位置信息查询状态失败的问题
-
修复某些场景下,空指针异常错误
Android SDK:v3.0.6
2017年11月28日
功能优化:
-
优化鹰眼SDK在华为等机器上的GPS数据获取方案,减少流量损耗,降低功耗;
-
升级BOS服务,优化BOS服务造成的鉴权错误;
Android SDK:v3.0.7
2019年1月2日
新增功能:
- 新增缓存轨迹距离查询功能:
在网络异常场景下,可以通过SDK端查询缓存轨迹的里程。 QueryCacheTrackRequest.java中增加缓存里程查询控制参数isQueryCacheDistance;
QueryCacheTrackRequest.java中增加GPS点去噪阈值参数radiusThreshold
QueryCacheTrackRequest.java中增加缓存轨迹里程查询沟通函数: public QueryCacheTrackRequest(int tag, long serviceId, String entityName, boolean isQueryCacheDistance, short radiusThreshold);
查询结果CacheTrackInfo.java中增加cacheDistance参数标识缓存里程。
详细请参见类参考。
功能优化:
-
升级鉴权逻辑,提高鉴权效率,解决偶现鉴权异常;
-
升级Demo中地图SDK版本,提升展示效果;
-
Demo适配全屏手机;
修复问题:
- 修复空指针异常等问题;
Android SDK:v3.0.8
2019年5月10日
修改:
- 自V3.1.0版本开始,SDK上传轨迹数据开始计算PV(即:日配额),之前版本不受影响,详见鹰眼权限和配额说明。
新增功能:
-
缓存轨迹点信息查询新增查询指定时间段的缓存轨迹里程功能。接口调整如下:距离查询接口的CacheTrackInfo增加指定起止时间字段。
-
轨迹查询与纠偏接口支持智能交通方式识别功能,支持对综合交通出行轨迹的智能纠偏(功能说明请点击)。接口调整如下:TransportMode增加自动识别字段Auto。
-
轨迹查询与里程查询接口支持查询低速里程,即查询速度低于设定阈值的轨迹里程,可应用于网约车精细化计费。接口调整如下:请求参数新增低速里程阈值lowSpeedThreshold字段,返回参数新增低速里程lowSpeedDistance。
-
公共地理围栏性能提升,支持创建公共围栏个数从1000升级至10万(功能说明请点击)。接口调整如下:新增服务端地理围栏添加(AddMonitoredPersonRequest/Response)、删除(DeleteMonitoredPersonRequest/Response)、查询(ListMonitoredPersonRequest/Response)监控对象等功能。围栏查询接口增加pageIndex和pageSize字段,支持分页检索。
功能优化:
-
优化轨迹查询和轨迹上传性能。
-
优化内存管理。
修复问题:
-
修复当前GPS定位点为网络类型的错误。
-
修复其它已知问题。
Android SDK:v3.1.0
2019年07月05日
修改
bug修复
Android SDK:v3.1.1
2019年08月09日
修改
废弃设置SDK请求协议为Http/Https的接口,强制使用Https请求。
修复问题
修复已知的空指针及其他问题
Android SDK:v3.1.2
2019年10月25日
更新内容:
该版本起全面适配Android Q。
Android O之后,使用前台服务,需要申请权限:
Android Q之后,开启后台定位,需要申请权限:
修复问题:
1、修复queryRealTimeLoc接口查询实时位置时,有GPS信号的情况下依然返回定位类型为网络定位、影响配额统计的问题。
2、修复其他已知问题。
Android SDK:v3.1.3
2019年11月21日
优化:
优化了实时定位接口的GPS定位状态问题。
修复问题:
1、修复注册多个GPS LocationListener的问题。
2、修复entity_name为中文字符时查询不到轨迹的问题。
Android SDK:v3.1.4
2019年12月25日
新增:
支持通过Gradle依赖方式集成鹰眼SDK。
e.g:在工程的build.gradle文件中增加如下依赖命令集成SDK:
implementation 'com.baidu.lbs:trace:3.1.5'
修复问题:
1、修复某些Android低版本系统的不兼容问题。
2、修复其他已知问题。
Android SDK:v3.1.5
2020年04月27日
优化:
定位成功率和准确率优化:支持5G等多种基站,支持双卡手机基站,提升手机端Wi-Fi刷新频率。
Android SDK:v3.1.6
2020年05月14日
优化:
修复使用网络定位模式且wifi环境较差的情况下,服务异常退出的问题。
Android SDK:v3.1.7
2021年1月25日
新增:
1.轨迹查询接口对齐web api,新增对长距离终端区间补偿轨迹点的策略:请求字段新增设置supplementContent接口,控制仅
补偿里程还是同时补偿轨迹点。
2.返回结果新增supplement字段,用于标识结果中补偿了轨迹点。
修复问题:
修复已知问题
Android SDK:v3.1.8
2021年08月25日
新增:
轨迹查询接口对齐web api.纠偏配置ProcessOption新增设置去燥力度(setDenoiseStrength)、抽稀力度(setVacuateStrength)接口。
修复问题:
1.修复查询缓存里程错误问题。
2.修复其他已知问题。
Android SDK:v3.1.9
2021年12月24日
修复问题:
1.优化内部逻辑;
2.修复其他已知问题。
Android SDK:v3.1.10
2022年4月01日
Android SDK:v3.1.11
新增:
为了进一步加强对最终用户个人信息的安全保护措施,增加了隐私合规接口setAgreePrivacy。