1. 程式人生 > >脈脈App引導頁面中推薦功能的實現推測

脈脈App引導頁面中推薦功能的實現推測

前言

今天在酷安閒逛時下載了脈脈App,一開啟就推薦了認識的人,第一反應是獲取了我的手機號,但啟動時也沒有手機資訊相關許可權,確認了下許可權管理確實都關了,拿iphone測了下也能推薦

推測

看了下都是公司同事,我推測是基於位置推薦的,沒有定位許可權可能是通過WIFI資訊,然後我關了WIFI,改用行動網路再進入app發現一切一目瞭然了,基於wifi的資訊建立使用者資料關聯。

程式碼很簡單

WifiManager wifiManager = (WifiManager) getApplicationContext().getSystemService(Context.WIFI_SERVICE);
WifiInfo info = wifiManager.getConnectionInfo ();
String ssid = info.getSSID();//SSID就是手機上搜索到的wifi名字(本質是一串字元)
String bssid = info.getBSSID();//BSSID相當於無線路由器的唯一值(本質是一個MAC地址) 
複製程式碼

但是Android8.1及以上在不開啟定位許可權時
獲取SSID為:unknown ssid
獲取BSSID為:02:00:00:00:00:00

Wifi模組原始碼有更新,Google 認為之前關於位置/定位許可權,在使用者不開啟 APP 定位許可權的情況下,APP 依然可以通過 WifiInfo 的相關資訊,比如 SSID/BSSID,去獲得使用者位置資訊,這顯然不合理,是個位置許可權的 bug。