移动端基于LBS实现签到功能可行性分析

手机定位知识背景:

1、GPS定位:通过接收卫星信号,直接得到手机的位置坐标。(不需要联网,可以完全离线定位,但是必须在天空比较开阔的地方,否则接收不到卫星信号。GPS定位,精度较高,可达到10米,但室内不可用,且超级费电。)。
2、网络定位:网络定位,分为wifi定位和基站定位,都是通过获取wifi或者基站信息,然后查询对应的wifi或者基站位置数据库,得到的定位地点。定位数据库可以不断完善不断补充,所以,越定位越准确。
2.1、WIFI定位:通过扫描手机周围的WIFI接入点,再把扫描到的接入点信息通过服务器对比,服务器再告诉手机所在的位置(这种定位方式需要互联网支持且WIFI要打开)。
2.2、基站定位:手机直接把自己所连接的基站以及能够扫描到的基站信息提供给服务器(比如中国移动的基站,每个基站间隔几百到几千米,每个基站都有自己的代码),再由服务器告知手机所在位置(也需要互联网支持)。

LBS签到应用场景模拟分析:

这几天我查阅网上很多关于移动端考勤的资料中,大部分的考勤APP都有用到基于LBS定位功能对业务功能进行支持,在我们应用时,利用gps定位的几率很小,如上所述GPS定位的要求和限制较高,那对于我们来说,使用网络定位是一个不错的选择,尤其是在市区基站和WiFi分布密集的地方,我基于iOS系统做了一个简单的定位的APP,通过实验得出,通过WiFi定位的精度要比基站定位高很多,比如(我现在是在公司,用WiFi定位可以定位到xxx大厦,误差相当小,可以定位到当前建筑,如果换成是4g的话,精度就取决于周围基站的覆盖程度了,以当前位置当前网络环境来看,误差在几百米,而且不是固定的)。

签到功能实现思路:

移动终端设备都有获取当前经纬度的功能,将获取的当前的经纬度上传给后台,后台设定一个固定坐标点,将当前设定坐标点与终端回传的坐标点进行比对,将比对结果(是否在当前合理范围内,签到是否成功)回传给终端设备。

LBS签到现存在的问题:

1、基于网络定位于网络环境关系很大,精确度变化范围不可控,从而获取的坐标点不够精确。
2、随着LBS签到功能的兴起,单一的通过定位来实现签到的模式已经司空见惯了,随之就出现了很多破解定位技术的产生,比如:安卓在获得root权限之后,可以开启开发者模式中的模拟定位,iPhone 在越狱之后可以通过模拟定位来获取虚拟位置进行作弊,所以单一的定位签到功能并不是很实用。

两种签到思路对比:

这几天我也认真查看了我们APP现有的签到功能,现有的功能是基于WiFi进行签到,我们会在连接到网络进行自动签到或者手动签到的时候对当前网络IP和WiFi进行校验,以验证当前网络是否是当前学校规定使用的WiFi,然后后台会进行校验处理是否是当前应该使用的WiFi,和签到是否成功。WiFi的辐射范围较小相对来说更加精确,更适用于像学生上课集中在教学楼或者教室这种范围较小空间使用。如果是利用LBS定位的话,可能在精确度上不如WiFi定位,但是相对于更灵活。

LBS签到的可行性分析:

由上面的大概介绍,使用LBS进行签到在技术上并不是很复杂,需要前后端的配合,比较容易实现,若只是用LBS进行定位签到存在上面所述的一些问题。但是这项技术是一个很有辅助作用的技术,可以在WiFi签到的基础上结合LBS定位签到,这也是市面上比较流行的防作弊考勤签到技术,如果单一在我们APP上使用LBS进行签到功能的实现,效果反而没有现在用WiFi签到效果好。

你可能感兴趣的:(iOS日常技术)