代码之家  ›  专栏  ›  技术社区  ›  Augustin Riedinger

科多瓦地理位置

  •  0
  • Augustin Riedinger  · 技术社区  · 7 年前

    我正在构建一个使用地理定位的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,
      })
    

    此代码将在应用程序上执行 负载 .

    当我在浏览器上测试它时,会收到以下警告:

    [违反]仅请求地理位置信息以响应用户手势。

    但在构建我的应用程序时,我认为在安装应用程序时需要权限,不是吗?我还需要在用户手势期间添加它吗?

    启动应用程序不是一种用户手势吗?

    对于广泛依赖地理位置的应用程序,最佳实践是什么?

    干杯

    1 回复  |  直到 7 年前
        1
  •  0
  •   kiran    7 年前

    iOS和Android都在从指示安装过程中的权限转变为在首次需要权限时请求权限。因此,当用户尝试在应用程序中首次打开地理位置功能时,您需要请求用户权限。

    苹果公司的指导方针表明,只有在需要时才需要请求权限,而不是提前请求。

    https://developer.apple.com/ios/human-interface-guidelines/app-architecture/requesting-permission/

    与Android相同

    https://developer.android.com/guide/topics/permissions/overview