Determining the location on iOS

Location accuracy depends on the configuration that the library uses for initialization:
With the locationTracking option enabled

The location is determined with accuracy to the city.

The app requests GPS access. Battery consumption may increase.

With the locationTracking option disabled
The location is determined by the IP address with accuracy to the country.

The app requests GPS access. Battery consumption does not increase.

Note. If you have enabled IP address masking, AppMetrica determines location with the accuracy to the country by the unmasked part of the IP address.

How to enable location determination

By default, the AppMetrica SDK is initialized with the enabled locationTracking option.

Note. AppMetrica SDK does not request the permission for getting location data. You should implement this using the methods of the CLLocationManager class.

How to disable location determination

Attention. If the locationTracking option is disabled, AppMetrica determines the location by the IP address with accuracy to the country.
To initialize a library with the disabled locationTracking option, set the NO value for the locationTracking property of the YMMYandexMetricaConfiguration configuration:
// Creating an extended library configuration.
YMMYandexMetricaConfiguration *configuration = [[YMMYandexMetricaConfiguration alloc] initWithApiKey:API_key];
// Disabling sending information about the device location.
configuration.locationTracking = NO;
// Initializing the AppMetrica SDK.
[YMMYandexMetrica activateWithConfiguration:configuration];
Copied to clipboard

To disable locationTracking after initializing the library, use the method +(void)setLocationTracking:(BOOL)enabled of the YMMYandexMetrica class:

[YMMYandexMetrica setTrackLocationEnabled:NO];
Copied to clipboard