经纪人签到定位策略调研(Android)
需求背景:
为门店经纪人提供方便快捷的"打卡签到"功能,希望能够作为组件添加到Link App 中,简化繁琐操作,提供更多更好的多元化功能。
技术方案:
GPS
使用GPS,对一定范围内的经纪人进行定位,当前经纪人处于门店范围内,连接服务器,请求签到。需要Link App的参与。
- 录入每个门店的地理位置信息,规定门店范围
- 录入该门店经纪人唯一标识,如UCID,建立门店范围与经纪人ID的映射表
当经纪人进入所属门店范围,请求Server,进行签到
优点:
- 不需要购买额外的设备,成本低
- 因为门店位置不可伪造,因此可靠性较高
- 由于通过App 创建连接,因此具备一定的可控性
缺点:
- GPS定位存在延迟和精度误差
- 实时监控,甚至频繁请求位置信息,增加设备的耗电量与流量
- 需要提前的录入步骤,依赖网页或者PC端(如果Server支持首次验证即录入的话,可以忽略该不足)
- Android设备上开启GPS必须申请额外的权限
- 由于位置信息的精度限制,一旦映射表建立,几乎不存在任何的扩展性
路由设备
在路由设备中录入门店经纪人手机的mac地址,当经纪人进入WiFi信号范围内,执行脚本,连接服务器,请求签到。可以不需要Link App的参与。
- 录入路由设备的唯一标识
- 在路由设备中录入门店经纪人手机的mac地址,建立路由自身标识与经纪人mac地址的映射表
经纪人进入WiFi信号范围内,请求Server,进行签到
优点:
- 比GPS精度高,也不需要即时监控经纪人的位置信息
- 验证需要路由设备的自身标识,因此可靠性较高
- 可以建立路由与PC的联系,以便发现并及时排查错误
缺点:
- 与GPS一样,需要做提前录入的准备(如果Server支持首次验证即录入的话,可以忽略该不足)
- 配置路由,甚至刷rom,存在一定的技术成本
- 存在大量更换设备的可能性,成本略大
- 不通过App 创建连接,不可控,灵活性受限
- 与GPS一样,影响扩展性
Beacon
App 识别beacon 发送的广播,与Server建立连接,请求签到或提交其他数据。需要Link App的参与。
- 录入beacon 设备的广播ID
- 录入该门店经纪人的唯一标识,建立beacon ID 与该标识的映射关系
经纪人进入beacon 广播范围内,App 识别该广播并通过蓝牙建立通信关系,请求Server,进行签到
优点:
- 基于蓝牙,精度高,功耗低
- 扩展性极高,只需要购买新的设备,在App 中添加对应的处理逻辑,能够应对不同的上报种类或玩法规则
- 丰富的SDK,开源社区等技术支持
- 因为通过App 与Server 进行通信,因此有很高的扩展性和灵活性
缺点:
- 需要Android 4.3以上,同时还需要Android Bluetooth 4.0以上,成为主要限制因素
- 依然需要录入等准备工作(如果Server支持首次验证即录入的话,可以忽略该不足)
- 如果过滤协议不严格,仍然存在伪造beacon 广播的风险
- 需要购买beacon 设备,存在一定成本,虽然很便宜 : )