科尔多瓦的地理位置
Geolocation in cordova
我正在构建一个使用地理定位的 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,
})
此代码在应用 load.
上执行
当我在浏览器上测试它时,我收到以下警告:
[Violation] Only request geolocation information in response to a user gesture.
但是在构建我的应用程序时,我认为在应用程序安装过程中会询问权限,不是吗?我还需要在用户手势期间添加它吗?
启动应用程序不是被视为用户手势吗?
对于广泛依赖地理定位的应用来说,最佳做法是什么?
干杯
iOS 和 Android 都从在安装期间指示权限转变为在第一次需要权限时请求权限。因此,当用户第一次尝试在应用中打开地理定位功能时,您需要请求用户许可。
Apple 指南指出只有在需要时才需要请求权限,而不是提前请求。
https://developer.apple.com/ios/human-interface-guidelines/app-architecture/requesting-permission/
同Android
https://developer.android.com/guide/topics/permissions/overview
我正在构建一个使用地理定位的 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,
})
此代码在应用 load.
上执行当我在浏览器上测试它时,我收到以下警告:
[Violation] Only request geolocation information in response to a user gesture.
但是在构建我的应用程序时,我认为在应用程序安装过程中会询问权限,不是吗?我还需要在用户手势期间添加它吗?
启动应用程序不是被视为用户手势吗?
对于广泛依赖地理定位的应用来说,最佳做法是什么?
干杯
iOS 和 Android 都从在安装期间指示权限转变为在第一次需要权限时请求权限。因此,当用户第一次尝试在应用中打开地理定位功能时,您需要请求用户许可。
Apple 指南指出只有在需要时才需要请求权限,而不是提前请求。
https://developer.apple.com/ios/human-interface-guidelines/app-architecture/requesting-permission/
同Android
https://developer.android.com/guide/topics/permissions/overview