Класс 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.

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 уже активирована, как правило, чтобы избежать избыточных вызовов активации или убедиться, что сбор статистики запущен.

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 не настроена, предопределенные атрибуты не отображаются в веб-интерфейсе.