Класс YMMYandexMetrica

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

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

+activateWithConfiguration:

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

+activateReporterWithConfiguration:

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

+handleOpenURL:

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

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

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

+pauseSession:

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

-reporterForApiKey:

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

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

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

+reportError:exception:onFailure:
Отправляет сообщение об ошибке.
Внимание. Метод устарел. Используйте вместо него +reportError:options:onFailure: или +reportError:onFailure:.
+reportError:onFailure:

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

+reportError:options:onFailure:

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

+reportNSError:onFailure:

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

+reportNSError:options:onFailure:

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

+reportEvent:params:onFailure:

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

+reportEvent:onFailure

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

+reportReferralUrl: Задает referral URL установки приложения. Метод может быть использован для отслеживания некоторых источников трафика.
+reportRevenue:onFailure: Отправляет информацию о покупке на сервер AppMetrica.
+reportUserProfile:onFailure: Отправляет информацию об обновлении пользовательского профиля.
+requestAppMetricaDeviceIDWithCompletionQueue: Запрашивает уникальный идентификатор AppMetrica (deviceID).
+resumeSession: Возобновляет сессию или создает новую, если тайм-аут сессии истек.
+sendEventsBuffer: Отправляет сохраненные события из буфера.
+setErrorEnvironmentValue:forKey:

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

+setLocation:

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

+setLocationTracking:

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

+setStatisticsSending: Включает/отключает отправку статистики на сервер AppMetrica.
+setUserProfileID: Устанавливает ID для пользовательского профиля. Если отправка ProfileId не настроена, предопределенные атрибуты не отображаются в веб-интерфейсе.
+activateWithConfiguration:

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

+activateReporterWithConfiguration:

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

+handleOpenURL:

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

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

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

+pauseSession:

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

-reporterForApiKey:

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

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

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

+reportError:exception:onFailure:
Отправляет сообщение об ошибке.
Внимание. Метод устарел. Используйте вместо него +reportError:options:onFailure: или +reportError:onFailure:.
+reportError:onFailure:

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

+reportError:options:onFailure:

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

+reportNSError:onFailure:

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

+reportNSError:options:onFailure:

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

+reportEvent:params:onFailure:

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

+reportEvent:onFailure

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

+reportReferralUrl: Задает referral URL установки приложения. Метод может быть использован для отслеживания некоторых источников трафика.
+reportRevenue:onFailure: Отправляет информацию о покупке на сервер AppMetrica.
+reportUserProfile:onFailure: Отправляет информацию об обновлении пользовательского профиля.
+requestAppMetricaDeviceIDWithCompletionQueue: Запрашивает уникальный идентификатор AppMetrica (deviceID).
+resumeSession: Возобновляет сессию или создает новую, если тайм-аут сессии истек.
+sendEventsBuffer: Отправляет сохраненные события из буфера.
+setErrorEnvironmentValue:forKey:

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

+setLocation:

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

+setLocationTracking:

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

+setStatisticsSending: Включает/отключает отправку статистики на сервер AppMetrica.
+setUserProfileID: Устанавливает ID для пользовательского профиля. Если отправка ProfileId не настроена, предопределенные атрибуты не отображаются в веб-интерфейсе.

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

+activateWithConfiguration:

+ (void)activateWithConfiguration:(YMMYandexMetricaConfiguration *)configuration

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

Параметры:
configuration

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

configuration

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

+activateReporterWithConfiguration:

+ (void)activateReporterWithConfiguration:(YMMReporterConfiguration *)configuration

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

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

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

Параметры:
configuration

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

configuration

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

+handleOpenURL:

+ (BOOL)handleOpenURL:(NSURL *)url

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

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

Параметры:
url

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

url

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

Возвращает:

  • YES, если deeplink предназначался AppMetrica.
  • NO, если deeplink не предназначался AppMetrica.

На данный момент такого deeplink нет. Метод всегда возвращает NO.

+initWebViewReporting:

+ (void)initWebViewReporting:(WKUserContentController *)userContentController
                   onFailure:(void (^)(NSError *))onFailure
Добавляет для указанной вебвью JavaScript-интерфейс с названием AppMetrica в window. Это позволяет отправлять клиентские события из JavaScript-кода.
Замечания:
  • Метод должен вызываться из главной очереди.
  • Метод недоступен на tvOS.
  • Метод необходимо вызывать до загрузки любого контента. Рекомендуется вызывать метод до создания вебвью и до добавления своих скриптов в WKUserContentController.
Подробнее см. в разделе Примеры использования методов.
Параметры:
userContentController

Объект WKUserContentController, используемый для данной WKWebView.

onFailure

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

userContentController

Объект WKUserContentController, используемый для данной WKWebView.

onFailure

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

+libraryVersion:

+ (NSString *)libraryVersion

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

Возвращает:

Версию библиотеки.

+pauseSession:

+ (void)resumeSession

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

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

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

-reporterForApiKey:

- (nullable id<YMMYandexMetricaReporting>)reporterForApiKey:(NSString *)apiKey

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

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

Параметры:
apiKey API key, отличный от API key приложения.
apiKey API key, отличный от API key приложения.

Возвращает:

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

+reportAdRevenue:onFailure:

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

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

Параметры:
adRevenue

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

onFailure

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

adRevenue

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

onFailure

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

+reportECommerce:onFailure:

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

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

Параметры:
eCommerce

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

onFailure

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

eCommerce

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

onFailure

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

+reportError:exception:onFailure:

+ (void)reportError:(NSString *)message
          exception:(NSException *)exception
          onFailure:(void (^)(NSError *error))onFailure
Отправляет сообщение об ошибке.
Внимание. Метод устарел. Используйте вместо него +reportError:options:onFailure: или +reportError:onFailure:.
Параметры:
message

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

exception

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

onFailure

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

message

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

exception

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

onFailure

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

+reportError:onFailure:

+ (void)reportError:id<YMMErrorRepresentable>
          onFailure:(void (^)(NSError *error))onFailure

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

Примечание. Подробнее в описании протокола YMMErrorRepresentable.
Параметры:
error

Ошибка, которую необходимо отправить.

onFailure

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

error

Ошибка, которую необходимо отправить.

onFailure

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

+reportError:options:onFailure:

+ (void)reportError:(id<YMMErrorRepresentable>)error
            options:(YMMErrorReportingOptions)options
          onFailure:(void (^)(NSError *error))onFailure

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

Используйте этот метод для установки параметров отправки.

Примечание. Подробнее в описании протокола YMMErrorRepresentable.
Параметры:
error

Ошибка, которую необходимо отправить.

options

Параметры отправки ошибки.

onFailure

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

error

Ошибка, которую необходимо отправить.

options

Параметры отправки ошибки.

onFailure

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

+reportNSError:onFailure:

+ (void)reportNSError:(NSError *)error
            onFailure:(void (^)(NSError *error))onFailure

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

AppMetrica использует домен и код для группировки ошибок.

Ограничения для NSError:
  • 200 символов для domain;
  • 50 пар ключ-значения для userInfo, 100 символов для ключа, 2 000 для значения;
  • 10 вложенных ошибок, которые используют NSUnderlyingErrorKey в качестве ключа в userInfo;
  • 200 фреймов стека в бэктрейсе YMMBacktraceErrorKey в качестве ключа в userInfo.
Если значение превышает ограничение, AppMetrica обрезает его.
Примечание. Вы можете отправлять собственный бэктрейс ошибки в NSError, подробнее в описании константы YMMBacktraceErrorKey.
Параметры:
error

Ошибка, которую необходимо отправить.

onFailure

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

error

Ошибка, которую необходимо отправить.

onFailure

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

+reportNSError:options:onFailure:

+ (void)reportNSError:(NSError *)error
              options:(YMMErrorReportingOptions)options
            onFailure:(void (^)(NSError *error))onFailure

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

AppMetrica использует домен и код для группировки ошибок.

Используйте этот метод для установки параметров отправки.

Ограничения для NSError:
  • 200 символов для domain;
  • 50 пар ключ-значения для userInfo, 100 символов для ключа, 2 000 для значения;
  • 10 вложенных ошибок, которые используют NSUnderlyingErrorKey в качестве ключа в userInfo;
  • 200 фреймов стека в бэктрейсе YMMBacktraceErrorKey в качестве ключа в userInfo.
Если значение превышает ограничение, AppMetrica обрезает его.
Примечание. Вы можете отправлять собственный бэктрейс ошибки в NSError, подробнее в описании константы YMMBacktraceErrorKey.
Параметры:
error

Ошибка, которую необходимо отправить.

options

Параметры отправки ошибки.

onFailure

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

error

Ошибка, которую необходимо отправить.

options

Параметры отправки ошибки.

onFailure

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

+reportEvent:onFailure:

+ (void)reportEvent:(NSString *)message onFailure:(void (^)(NSError *error))onFailure

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

Параметры:
message

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

onFailure

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

message

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

onFailure

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

+reportEvent:params:onFailure:

+ (void)reportEvent:(NSString *)message
         parameters:(NSDictionary *)params
          onFailure:(void (^)(NSError *error))onFailure

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

Параметры:
message

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

params

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

onFailure

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

message

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

params

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

onFailure

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

+reportReferralUrl:

+ (void)reportReferralUrl:(NSURL *)url

Задает referral URL установки приложения. Метод может быть использован для отслеживания некоторых источников трафика.

Параметры:
url Referral URL установки приложения.
url Referral URL установки приложения.

+reportRevenue:onFailure:

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

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

Параметры:
revenueInfo

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

onFailure

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

revenueInfo

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

onFailure

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

+reportUserProfile:onFailure:

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

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

Параметры:
userProfile

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

onFailure

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

userProfile

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

onFailure

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

+requestAppMetricaDeviceIDWithCompletionQueue:block:

+ (void)requestAppMetricaDeviceIDWithCompletionQueue:(nullable dispatch_queue_t)queue
                                     completionBlock:(YMMAppMetricaDeviceIDRetrievingBlock)block

Запрашивает уникальный идентификатор AppMetrica (

deviceID

).

В Logs API и Post API deviceID обозначается как appmetrica_device_id.

Параметры:
queue

Очередь, на которой будет вызван callback-блок.

block

Сallback-блок получения appmetrica_device_id. Включает в себя идентификатор appMetricaDeviceID и ошибку error, если не удалось получить идентификатор.

queue

Очередь, на которой будет вызван callback-блок.

block

Сallback-блок получения appmetrica_device_id. Включает в себя идентификатор appMetricaDeviceID и ошибку error, если не удалось получить идентификатор.

+resumeSession:

+ (void)resumeSession

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

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

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

+sendEventsBuffer:

+ (void)sendEventsBuffer

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

AppMetrica SDK не отправляет события сразу после того, как оно произошло. Библиотека хранит данные о событиях в буфере. Метод

sendEventsBuffer()

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

Внимание.

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

+setErrorEnvironmentValue:forKey:

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

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

Примечание. AppMetrica использует эти значения как дополнительную информацию для дальнейших необработанных исключений. Если передано значение nil, AppMetrica удалит предыдущую пару.
Параметры:
value

Значение

key

Ключ

value

Значение

key

Ключ

+setLocation:

+ (void)setLocation:(CLLocation *)location

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

Параметры:
location Информация о местоположении устройства.
location Информация о местоположении устройства.

+setLocationTracking:

+ (void)setLocationTracking:(BOOL)enabled

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

Параметры:
enabled

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

Возможные значения:
  • YES — отправка информации о местоположении устройства включена.
  • NO — отправка информации о местоположении устройства выключена.
enabled

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

Возможные значения:
  • YES — отправка информации о местоположении устройства включена.
  • NO — отправка информации о местоположении устройства выключена.

+setStatisticsSending:

+ (void)setStatisticsSending:(BOOL)enabled

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

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

Примечание.

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

Параметры:
enabled

Признак отправки статистики.

Значение по умолчанию — YES.

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

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

Признак отправки статистики.

Значение по умолчанию — YES.

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

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

+setUserProfileID:

+ (void)setUserProfileID:(nullable NSString *)userProfileID

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

ProfileId

не настроена, предопределенные атрибуты не отображаются в веб-интерфейсе.

Параметры:
userProfileID Идентификатор пользовательского профиля.
userProfileID Идентификатор пользовательского профиля.