移動端基於LBS實現簽到功能可行性分析

weixin_34148456發表於2017-08-18

手機定位知識背景:

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簽到效果好。

相關文章