Геолокация в Кордове - PullRequest
0 голосов
/ 18 мая 2018

Я создаю приложение 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] Запросить информацию только о геолокациив ответ на жест пользователя.

Но при сборке моего приложения я считаю, что разрешение спрашивается во время установки приложения, не так ли?Нужно ли мне добавлять его во время жеста пользователя?

Не запускается ли приложение, считающееся жестом пользователя?

Каковы рекомендации для приложения, которое в значительной степени зависит от геолокации?

Приветствия

1 Ответ

0 голосов
/ 18 мая 2018

И iOS, и Android переходят от указания разрешений во время установки к запросу разрешений, когда разрешение требуется 1-е.Поэтому вам нужно запросить разрешение у пользователя, когда пользователь в первый раз пытается включить функции геолокации в приложении.

В рекомендациях Apple указано, что разрешения следует запрашивать только тогда, когда они необходимы, а не опережаютвремя.

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

То же самое с Android

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

...