Класс AMAAppMetrica

Методы класса используются для настройки работы библиотеки.

Методы экземпляра

+activateReporterWithConfiguration:

Инициализирует репортер с расширенной конфигурацией.

+activateWithConfiguration:

Инициализирует библиотеку в приложении с расширенной стартовой конфигурацией.

+clearAppEnvironment

Удаление всех данных ключ-значение, связанных со всеми будущими событиями.

+pauseSession

Приостанавливает сессию.

+reportAdRevenue:onFailure:

Отправляет информацию о рекламной выручке на сервер AppMetrica.

+reportECommerce:onFailure:

Отправляет сообщение о ecommerce-событии.

+reportEvent:onFailure:

Отправляет сообщение о событии.

+reportEvent:parameters:onFailure:

Отправляет сообщение о событии с дополнительными параметрами.

+reportExternalAttribution:source:onFailure:

Отправляет данные о внешней атрибуции в AppMetrica.

+reportRevenue:onFailure:

Отправляет информацию о покупке на сервер AppMetrica.

+reportUserProfile:onFailure:

Отправляет информацию об обновлении пользовательского профиля.

+reporterForAPIKey:

Создает репортер для отправки событий на дополнительный API key.

+requestStartupIdentifiersWithCompletionQueue:completionBlock:

Запрашивает все предопределенные идентификаторы.

+requestStartupIdentifiersWithKeys:completionQueue:completionBlock:

Запрашивает идентификаторы для определенных ключей.

+resumeSession

Возобновляет сессию или создает новую, если тайм-аут сессии истек.

+sendEventsBuffer

Отправляет сохраненные события из буфера.

+setAppEnvironmentValue:forKey:

Устанавливает пару ключ-значение, которая ассоциирована со всеми будущими событиями.

+setDataSendingEnabled:

Включает/отключает отправку статистики на сервер AppMetrica.

+setupWebViewReporting:onFailure:

Добавляет для указанной вебвью JavaScript-интерфейс с названием AppMetrica в window. Это позволяет отправлять клиентские события из JavaScript-кода.

+trackOpeningURL:

Обрабатывает URL, который открыл приложение.

Свойства

UUID

Текущий UUID.

accurateLocationTrackingEnabled

Контролирует точность отслеживания местоположения, используемого внутренним менеджером местоположения.

activated

Указывает, была ли активирована AppMetrica.

advertisingIdentifierTrackingEnabled

Позволяет отключить отправку IDFA, даже если был включен модуль AppMetricaAdSupport.

allowsBackgroundLocationUpdates

Включить/отключить фоновое отслеживание обновлений местоположения.

customLocation

Устанавливает собственную информацию о местоположении устройства.

deviceIDHash

Текущий appmetrica_device_id_hash.

deviceID

Текущий appmetrica_device_id.

libraryVersion

Текущая версию библиотеки AppMetrica.

locationTrackingEnabled

Включает/отключает отправку информации о местоположении устройства.

userProfileID

Устанавливает ID для пользовательского профиля.

Описание методов

+activateReporterWithConfiguration:

+ (void)activateReporterWithConfiguration:(AMAReporterConfiguration *)configuration;

Инициализирует репортер с расширенной конфигурацией.

Конфигурация репортера должна быть инициализирована до первого обращения к репортеру. Иначе конфигурация репортера игнорируется.

Репортер должен быть инициализирован с конфигурацией, которая содержит API key, отличный от API key приложения.

Параметры:

configuration

Объект класса AMAReporterConfiguration, который содержит расширенную конфигурацию репортера.

+activateWithConfiguration:

+ (void)activateWithConfiguration:(AMAAppMetricaConfiguration *)configuration;

Инициализирует библиотеку в приложении с расширенной стартовой конфигурацией.

Параметры:

configuration

Объект класса AMAAppMetricaConfiguration, который содержит расширенную стартовую конфигурацию библиотеки.

+clearAppEnvironment

+ (void)clearAppEnvironment;

Очистка среды приложения, например, удаление всех данных ключ - значение, связанных со всеми будущими событиями.

+pauseSession

+ (void)pauseSession;

Приостанавливает сессию.

Примечание

Длительность сессии зависит от заданного таймаута. Если интервал между приостановкой и возобновлением сессии меньше заданного времени тайм-аута, то текущая сессия будет возобновлена, если больше — будет создана новая.

Подробнее о сессиях в разделе Отслеживание активности пользователей.

+reportAdRevenue:onFailure:

+ (void)reportAdRevenue:(AMAAdRevenueInfo *)adRevenue
              onFailure:(nullable void (^)(NSError *error))onFailure;

Отправляет информацию о рекламной выручке на сервер AppMetrica.

Параметры:

adRevenue

Объект класса AMAAdRevenueInfo, который содержит информацию о рекламной выручке.

onFailure

Callback-метод, который будет вызван в случае ошибки.

+reportECommerce:onFailure:

+ (void)reportECommerce:(AMAECommerce *)eCommerce
              onFailure:(nullable void (^)(NSError *error))onFailure;

Отправляет сообщение о ecommerce-событии.

Параметры:

eCommerce

Объект класса AMAECommerce.

onFailure

Callback-метод, который будет вызван в случае ошибки.

+reportEvent:onFailure:

+ (void)reportEvent:(NSString *)name
          onFailure:(nullable void (^)(NSError *error))onFailure;

Отправляет сообщение о событии.

Параметры:

name

Короткое название или описание события.

onFailure

Блок, который выполняется при возникновении ошибки. Ошибка передается как блок-аргумент.

+reportEvent:parameters:onFailure:

+ (void)reportEvent:(NSString *)name
         parameters:(nullable NSDictionary *)params
          onFailure:(nullable void (^)(NSError *error))onFailure;

Отправляет сообщение о событии с дополнительными параметрами.

Параметры:

name

Короткое название или описание события.

params

Параметры в виде пар ключ-значение.

onFailure

Callback-метод, который будет вызван в случае ошибки.

+reportExternalAttribution:source:onFailure:

+ (void)reportExternalAttribution:(NSDictionary *)attribution
                           source:(AMAAttributionSource)source
                        onFailure:(nullable void (^)(NSError *error))onFailure;

Отправляет данные о внешней атрибуции в AppMetrica.

Параметры:

attribution

Словарь содержит данные об атрибуции. Должен быть конвертируемым в JSON, иначе метод завершится запуском блока с ошибкой — onFailure.

source

Источник с данными об атрибуции. Список источников.

onFailure

Callback-метод, который будет вызван в случае ошибки. Ошибка передается в качестве аргумента.

+reportRevenue:onFailure:

+ (void)reportRevenue:(AMARevenueInfo *)revenueInfo
            onFailure:(nullable void (^)(NSError *error))onFailure;

Отправляет информацию о покупке на сервер AppMetrica.

Параметры:

revenueInfo

Объект класса AMARevenueInfo, который содержит информацию о покупке.

onFailure

Callback-метод, который будет вызван в случае ошибки.

+reportUserProfile:onFailure:

+ (void)reportUserProfile:(AMAUserProfile *)userProfile
                onFailure:(nullable void (^)(NSError *error))onFailure;

Отправляет информацию об обновлении пользовательского профиля.

Параметры:

userProfile

Объект класса AMAUserProfile, который содержит информацию о пользовательском профиле.

onFailure

Callback-метод, который будет вызван в случае ошибки.

+reporterForAPIKey:

+ (nullable id<AMAAppMetricaReporting>)reporterForAPIKey:(NSString *)APIKey;

Создает репортер для отправки событий на дополнительный API key.

Чтобы инициализировать репортер с расширенной конфигурацией, используйте метод activateReporterWithConfiguration:. Конфигурация репортера должна быть инициализирована до первого обращения к репортеру. Иначе, конфигурация репортера игнорируется.

Параметры:

APIKey

API key, отличный от API key приложения.

Возвращает:

Объект, реализующий протокол AMAAppMetricaReporting для заданного API key приложения.

+requestStartupIdentifiersWithCompletionQueue:completionBlock:

+ (void)requestStartupIdentifiersWithCompletionQueue:(nullable dispatch_queue_t)queue
                                     completionBlock:(AMAIdentifiersCompletionBlock)block;

Получение всех предопределенных идентификаторов

Параметры:

queue

Очередь для отправки блока. Если значение равно нулю, используется основная очередь.

block

Блок будет отправлен при появлении доступных идентификаторов или в случае ошибки.

Предопределенными идентификаторами являются:

  • kAMAUUIDKey
  • kAMADeviceIDKey
  • kAMADeviceIDHashKey

Если они доступны на момент вызова - блок отправляется немедленно. Смотрите определение AMAIdentifiersCompletionBlock для получения более подробной информации о возвращаемых типах.

+requestStartupIdentifiersWithKeys:completionQueue:completionBlock:

+ (void)requestStartupIdentifiersWithKeys:(NSArray<AMAStartupKey> *)keys
                          completionQueue:(nullable dispatch_queue_t)queue
                          completionBlock:(AMAIdentifiersCompletionBlock)block;

Получение идентификаторов для определенных ключей

Параметры:

keys

Массив идентификационных ключей для запроса. Смотрите AMAStartupKey.

queue

Очередь для отправки блока. Если значение равно нулю, используется основная очередь.

block

Блок будет отправлен при появлении доступных идентификаторов или в случае ошибки.

Если они доступны на момент вызова - блок отправляется немедленно. Смотрите определение AMAIdentifiersCompletionBlock для получения более подробной информации о возвращаемых типах.

+resumeSession

+ (void)resumeSession;

Возобновляет сессию или создает новую, если таймаут сессии истек.

Примечание

Длительность сессии зависит от заданного таймаута. Если интервал между приостановкой и возобновлением сессии меньше заданного времени тайм-аута, то текущая сессия будет возобновлена, если больше — будет создана новая.

Подробнее о сессиях в разделе Отслеживание активности пользователей.

+sendEventsBuffer

+ (void)sendEventsBuffer;

Отправляет сохраненные события из буфера.

AppMetrica SDK не отправляет события сразу после того, как оно произошло. Библиотека хранит данные о событиях в буфере. Метод +sendEventsBuffer отправляет данные из буфера и очищает его. Используйте этот метод для принудительной отправки сохраненных событий после прохождения важных сценариев пользователя.

Внимание

Частое использование метода может привести к повышению энергопотребления и расходу исходящего интернет-трафика.

+setAppEnvironmentValue:forKey:

+ (void)setAppEnvironmentValue:(nullable NSString *)value
                        forKey:(NSString *)key;

Установка данных ключ - значение, которые будут использоваться в качестве дополнительной информации, связанной со всеми будущими событиями.

Если значение равно нулю, ранее установленное значение ключа удаляется. Ничего не делает, если ключ не был добавлен.

Параметры:

value

Значение.

key

Ключ.

+setDataSendingEnabled:

+ (void)setDataSendingEnabled:(BOOL)enabled;

Включает/отключает отправку статистики на сервер AppMetrica.

Подробнее об использовании метода в разделе Отключение и включение отправки статистики.

Примечание

Отключение отправки для главного API key также отключает отправку данных со всех репортеров, которые были инициализированы с другим API key.

Параметры:

enabled

Признак отправки статистики. Значение по умолчанию — YES.

Возможные значения:

  • YES — отправка статистики включена.
  • NO — отправка статистики выключена.

+setupWebViewReporting:onFailure:

+ (void)setupWebViewReporting:(id<AMAJSControlling>)controller
                    onFailure:(nullable void (^)(NSError *error))onFailure;

Добавляет для указанной вебвью JavaScript-интерфейс с названием AppMetrica в window. Это позволяет отправлять клиентские события из JavaScript-кода.

Замечания:

  • Метод должен вызываться из главной очереди.
  • Метод недоступен на tvOS.
  • Метод необходимо вызывать до загрузки любого контента. Рекомендуется вызывать метод до создания вебвью и до добавления своих скриптов в WKUserContentController.
    Подробнее см. в разделе Примеры использования методов.

Параметры:

controller

Объект AMAJSControlling.

onFailure

Callback-метод, который будет вызван в случае ошибки.

+trackOpeningURL:

+ (void)trackOpeningURL:(NSURL *)URL;

Обрабатывает URL, который открыл приложение.

Используется для регистрации открытия приложения с помощью deeplink.

Параметры:

URL

URL, который открыл приложение.

Описание свойств

UUID

@property (class, nonatomic, readonly) NSString *UUID;

Извлекает текущий UUID.

accurateLocationTrackingEnabled

@property (class, nonatomic, getter=isAccurateLocationTrackingEnabled) BOOL accurateLocationTrackingEnabled;

Контролирует точность отслеживания местоположения, используемого внутренним менеджером местоположения.

Если установлено значение YES, диспетчер местоположений пытается использовать наиболее точные доступные данные о местоположении.
Это свойство вступает в силу только в том случае, если для параметра isLocationTrackingEnabled установлено значение YES и местоположение
не было задано вручную с помощью свойства customLocation.

activated

@property (class, assign, readonly, getter=isActivated) BOOL activated;

Указывает, была ли активирована AppMetrica.

Примечание

Используйте это свойство, чтобы проверить, была ли AppMetrica уже активирована, как правило, чтобы избежать избыточных вызовов активации или убедиться, что сбор статистики запущен.

advertisingIdentifierTrackingEnabled

@property (class, nonatomic, getter=isAdvertisingIdentifierTrackingEnabled) BOOL advertisingIdentifierTrackingEnabled;

Позволяет отключить отправку IDFA, даже если был включен модуль AppMetricaAdSupport.

allowsBackgroundLocationUpdates

@property (class, nonatomic) BOOL allowsBackgroundLocationUpdates;

Включить/отключить фоновое отслеживание обновлений местоположения. По умолчанию отключен.

customLocation

@property (class, nonatomic, nullable) CLLocation *customLocation;

Устанавливает собственную информацию о местоположении устройства.

deviceIDHash

@property (class, nonatomic, nullable, readonly) NSString *deviceIDHash;

Извлекает appmetrica_device_id_hash.

deviceID

@property (class, nonatomic, nullable, readonly) NSString *deviceID;

Извлекает appmetrica_device_id.

libraryVersion

@property (class, nonatomic, readonly) NSString *libraryVersion;

Возвращает текущую версию библиотеки AppMetrica.

locationTrackingEnabled

@property (class, nonatomic, getter=isLocationTrackingEnabled) BOOL locationTrackingEnabled;

Включает/отключает отправку информации о местоположении устройства.

userProfileID

@property (class, nonatomic, nullable) NSString *userProfileID;

Устанавливает ID для пользовательского профиля. Если отправка ProfileId не настроена, предопределенные атрибуты не отображаются в веб-интерфейсе.