科尔多瓦的地理位置

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