Определение местоположения на Android
AppMetrica по умолчанию определяет местоположение устройства. Точность определения зависит от конфигурации, с которой инициализируется библиотека:
- С включенной опцией locationTracking
-
Местоположение определяется с точностью до города. Информация доступна в отчетах и в Logs API.
Приложение запрашивает доступ к GPS. Расход заряда аккумулятора может увеличиться.
- С отключенной опцией locationTracking
- Местоположение определяется по IP-адресу с точностью до страны. Информация доступна в отчетах, но не доступна в Logs API.
Приложение не запрашивает доступ к GPS. Расход заряда аккумулятора не увеличивается.
Примечание. Если у вас включена маскировка IP-адреса, местоположение определяется так же с точностью до страны по немаскированной части IP-адреса.
Как включить определение местоположения
По умолчанию AppMetrica SDK инициализируется с включенной опцией locationTracking.
Для более точного определения местоположения добавьте в файл AndroidManifest.xml
одно из разрешений:
- android.permission.ACCESS_COARSE_LOCATION — для приблизительного определения;
- android.permission.ACCESS_FINE_LOCATION — для точного определения.
Например:
<manifest> <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/> <application>...</application> </manifest>
Скопировано
Как отключить определение местоположения
Внимание. При отключенном locationTracking AppMetrica определяет местоположение по IP-адресу с точностью до страны.
Чтобы инициализировать библиотеку с отключенным locationTracking, передайте значение
false
в метод withLocationTracking(boolean enabled) при создании расширенной конфигурации библиотеки:// Creating an extended library configuration. YandexMetricaConfig config = YandexMetricaConfig.newConfigBuilder(API_key) // Disabling the data sending about the device location. .withLocationTracking(false) .build(); // Initializing the AppMetrica SDK. YandexMetrica.activate(getApplicationContext(), config);
Скопировано
Чтобы отключить locationTracking после инициализации библиотеки, используйте метод YandexMetrica.setLocationTracking(boolean enabled):
YandexMetrica.setLocationTracking(false);
Скопировано