H5 定位权限测试
常用的 H5 应用,主要方式是通过 webview 嵌入 app 中,因此有两种定位权限:APP 定位权限、H5 定位权限
1、测试机器
- Android:小米 10 pro、Android 12、MIUI 13.0.4
- iOS:iPhone 7 Plus、iOS 15.6.1
- 测试页面:https://w.quteam.com/test/geo/
2、APP 测试结果
2.1 APP 权限开启
- Android
- 默认/定位询问:定位不可用。易快报 APP 点击商城订购,有触发定位询问
- 允许:正常获取定位
- 模糊定位:正常
- iOS:H5 定位提示“是否允许获取定位”
- 允许
- 正常获取定位
- 模糊定位:正常
- 拒绝
- 提示:用户拒绝定位
- 拒绝被缓存
- 允许
iOS 缓存定位操作
- 连续拒绝 2-3 次,系统会缓存选项,不再提示“是否允许获取定位”,直接拒绝。
- 清除缓存方法:设置 => 通用 => 传输或还原 iPhone => 还原 => 还原位置与隐私 => 输入密码 => 确定还原
2.2 APP 权限关闭
- Android:定位不可用
- iOS:定位不可用
注:
- 定位不可用:POSITION_UNAVAILABLE
- 用户拒绝定位:PERMISSION_DENIED
3、结论
- 安卓
- 安卓 H5 定位跟随 APP 定位权限,同开同关
- APP 安装时默认时询问定位模式,H5 定位无法换起 APP 定位询问
- iOS
- APP 定位权限高于 H5 定位。APP 定位开启权限时,还会有 H5 定位权限。
- H5 发起定位,会唤起 APP 定位询问,允许后,再弹 H5 定位询问
- H5 定位权限设置会缓存,选择“允许”/“拒绝”后,不在询问,需要重设位置才可开启。