Определение местоположения на Android

Точность определения местоположения зависит от конфигурации, с которой инициализируется библиотека:
С включенной опцией locationTracking

Местоположение определяется с точностью до города. Информация доступна в отчетах и в Logs API.

Приложение запрашивает доступ к GPS. Расход заряда аккумулятора может увеличиться.

С отключенной опцией locationTracking
Местоположение определяется по IP-адресу с точностью до страны. Информация доступна в отчетах, но не доступна в Logs API.

Приложение не запрашивает доступ к GPS. Расход заряда аккумулятора не увеличивается.

Примечание. Если у вас включена маскировка IP-адреса, местоположение определяется так же с точностью до страны по немаскированной части IP-адреса.

Как включить определение местоположения

По умолчанию AppMetrica SDK инициализируется с включенной опцией locationTracking.

Для более точного определения местоположения добавьте в файл AndroidManifest.xml одно из разрешений:

Например:

<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);
Скопировано