我正在构建一个使用地理位置的cordova应用程序。
我安装了<plugin name="cordova-plugin-geolocation" spec="4.0.1" />
插件,并以一种似乎在语法上起作用的方式使用它:
console.log('Geoloc queried')
navigator.geolocation.watchPosition((position) => {
console.log('Geoloc received', position)
}, (err) => {
console.warn('Could not get geoloc', err)
}, {
maximumAge: 10 * 60 * 1000, // 10 minutes
timeout: 5 * 1000, // 5 seconds
enableHighAccuracy: false,
})
此代码在应用加载上执行。
当我在浏览器上测试它时,我收到以下警告:
[违规]仅响应用户手势请求地理位置信息。
但是在构建我的应用程序时,我认为应用程序安装期间是否有权限请求它?我还需要在用户手势中添加它吗?
是否未将应用视为用户手势?
广泛依赖地理定位的应用的最佳做法是什么?
干杯
答案 0 :(得分:0)
当需要第一个权限时,iOS和Android都会从安装期间的权限指示到请求权限。因此,当用户尝试在应用中首次启用地理位置功能时,您需要请求用户权限。
Apple指南表明只有在需要时才需要申请权限,而不是提前申请。
https://developer.apple.com/ios/human-interface-guidelines/app-architecture/requesting-permission/
与Android相同
https://developer.android.com/guide/topics/permissions/overview