脉脉App引导页面中推荐功能的实现推测

前言

今天在酷安闲逛时下载了脉脉App,一打开就推荐了认识的人,第一反应是获取了我的手机号,但启动时也没有手机信息相关权限,确认了下权限管理确实都关了,拿iphone测了下也能推荐

推测

看了下都是公司同事,我推测是基于位置推荐的,没有定位权限可能是通过Wifi信息,然后我关了Wifi,改用移动网络再进入App发现推荐的用户为默认数据,基于Wifi的信息建立用户数据关联,打开App时获取我手机的Wifi的唯一ID建立用户匹配推荐展示,当我登录时会关联一个Wifi ID的列表,记录该用户在哪些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地址) 
复制代码

这个Wifi的唯一ID就是BSSID,但是Android8.1及以上在不开启定位权限时
获取SSID为:unknown ssid
获取BSSID为:02:00:00:00:00:00

在Android8.1上Wifi模块源码有更新,Google 认为之前关于位置/定位权限,在用户不开启 APP 定位权限的情况下,APP 依然可以通过 WifiInfo 的相关信息,比如 SSID/BSSID,去获得用户位置信息,这显然不合理,是个位置权限的 bug。

后记

这里记录下这个案例在以后可以参考使用提高用户注册转化率

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值