Класс YMMYandexMetrica

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

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

activate(with:)

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

activateReporter(with:)

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

handleOpen(_:)

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

initWebViewReporting(_:onFailure:)
Добавляет для указанной вебвью JavaScript-интерфейс с названием AppMetrica в window. Это позволяет отправлять клиентские события из JavaScript-кода.
libraryVersion() Возвращает текущую версию библиотеки AppMetrica.
pauseSession() Приостанавливает сессию.
reporterForApiKey(_:)

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

report(eCommerce:onFailure:)

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

reportError(_:exception:onFailure:)

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

report(error:onFailure:)

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

report(error:options:onFailure:)

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

report(nserror:onFailure:)

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

report(nserror:options:onFailure:)

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

reportEvent(_:onFailure:)

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

reportEvent(_:parameters:onFailure:)

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

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

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

report(adRevenue:onFailure:)

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

report(_:onFailure:)

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

requestAppMetricaDeviceID(withCompletionQueue:completionBlock:)

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

requestAppMetricaDeviceID(withCompletionQueue:) Запрашивает уникальный идентификатор AppMetrica (deviceID).
resumeSession() Возобновляет сессию или создает новую, если тайм-аут сессии истек.
sendEventsBuffer() Отправляет сохраненные события из буфера.
setErrorEnvironmentValue(_:forKey:)

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

setLocation(_:) Устанавливает собственную информацию о местоположении устройства.
setLocationTracking(_:)

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

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

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

activateReporter(with:)

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

handleOpen(_:)

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

initWebViewReporting(_:onFailure:)
Добавляет для указанной вебвью JavaScript-интерфейс с названием AppMetrica в window. Это позволяет отправлять клиентские события из JavaScript-кода.
libraryVersion() Возвращает текущую версию библиотеки AppMetrica.
pauseSession() Приостанавливает сессию.
reporterForApiKey(_:)

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

report(eCommerce:onFailure:)

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

reportError(_:exception:onFailure:)

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

report(error:onFailure:)

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

report(error:options:onFailure:)

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

report(nserror:onFailure:)

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

report(nserror:options:onFailure:)

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

reportEvent(_:onFailure:)

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

reportEvent(_:parameters:onFailure:)

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

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

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

report(adRevenue:onFailure:)

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

report(_:onFailure:)

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

requestAppMetricaDeviceID(withCompletionQueue:completionBlock:)

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

requestAppMetricaDeviceID(withCompletionQueue:) Запрашивает уникальный идентификатор AppMetrica (deviceID).
resumeSession() Возобновляет сессию или создает новую, если тайм-аут сессии истек.
sendEventsBuffer() Отправляет сохраненные события из буфера.
setErrorEnvironmentValue(_:forKey:)

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

setLocation(_:) Устанавливает собственную информацию о местоположении устройства.
setLocationTracking(_:)

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

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

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

activate(with:)

class func activate(with configuration: YMMYandexMetricaConfiguration)

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

Параметры:
configuration

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

configuration

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

activateReporter(with:)

class func activateReporter(with configuration: YMMReporterConfiguration)

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

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

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

Параметры:
configuration

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

configuration

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

handleOpen(_:)

class func handleOpen(_ url: URL) -> Bool

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

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

Параметры:
url

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

url

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

Возвращает:

  • true, если deeplink предназначался непосредственно AppMetrica.
  • false, если deeplink не предназначался непосредственно AppMetrica.

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

initWebViewReporting(_:onFailure:)

class func initWebViewReporting(_ userContentController: WKUserContentController, onFailure: ((Error) -> Void)? = nil)
Добавляет для указанной вебвью JavaScript-интерфейс с названием AppMetrica в window. Это позволяет отправлять клиентские события из JavaScript-кода.
Замечания:
  • Метод должен вызываться из главной очереди.
  • Метод недоступен на tvOS.
  • Метод необходимо вызывать до загрузки любого контента. Рекомендуется вызывать метод до создания вебвью и до добавления своих скриптов в WKUserContentController.
Подробнее см. в разделе Примеры использования методов.
Параметры:
userContentController

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

onFailure

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

userContentController

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

onFailure

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

libraryVersion()

open class func libraryVersion() -> String

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

Возвращает:

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

pauseSession()

class func pauseSession()

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

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

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

reporterForApiKey(_:)

class func reporterForApiKey(_ apiKey: String) -> YMMYandexMetricaReporting?

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

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

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

Возвращает:

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

report(eCommerce:onFailure:)

class func report(eCommerce: YMMECommerce, onFailure: ((Error) -> Void)? = nil)

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

Параметры:
eCommerce

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

onFailure

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

eCommerce

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

onFailure

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

reportError(_:exception:onFailure:)

class func reportError(_ message: String, exception: NSException?, onFailure: ((Error) -> Void)? = nil)

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

Параметры:
message

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

exception

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

onFailure

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

message

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

exception

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

onFailure

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

report(error:onFailure:)

class func report(error: YMMErrorRepresentable, onFailure: ((Error) -> Void)? = nil)

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

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

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

onFailure

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

error

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

onFailure

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

report(error:options:onFailure:)

class func report(error: YMMErrorRepresentable, options: YMMErrorReportingOptions = [], onFailure: ((Error) -> Void)? = nil)

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

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

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

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

options

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

onFailure

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

error

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

options

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

onFailure

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

report(nserror:onFailure:)

class func report(nserror error: Error, onFailure: ((Error) -> Void)? = nil)

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

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

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

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

onFailure

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

error

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

onFailure

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

report(nserror:options:onFailure:)

class func report(nserror error: Error, options: YMMErrorReportingOptions = [], onFailure: ((Error) -> Void)? = nil)

Отправляет сообщение об ошибке типа 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:)

class func reportEvent(_ message: String, onFailure: ((Error) -> Void)? = nil)

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

Параметры:
message

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

onFailure

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

message

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

onFailure

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

reportEvent(_:parameters:onFailure:)

class func reportEvent(_ message: String, parameters params: [AnyHashable : Any]?, onFailure: ((Error) -> Void)? = nil)

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

Параметры:
message

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

params

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

onFailure

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

message

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

params

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

onFailure

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

reportReferralUrl(_:)

class func reportReferralUrl(_ url: NSURL)

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

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

reportRevenue(_:onFailure:)

class func reportRevenue(_ revenueInfo: YMMRevenueInfo, onFailure: ((NSError) -> Void)?)

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

Параметры:
revenueInfo

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

onFailure

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

revenueInfo

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

onFailure

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

report(adRevenue:onFailure:)

class func report(_ adRevenue: YMMAdRevenueInfo, onFailure: ((NSError) -> Void)?)

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

Параметры:
adRevenue

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

onFailure

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

adRevenue

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

onFailure

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

reportUserProfile(_:onFailure:)

class func reportUserProfile(_ userProfile: YMMUserProfile, onFailure: ((NSError) -> Void)?)

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

Параметры:
userProfile

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

onFailure

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

userProfile

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

onFailure

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

requestAppMetricaDeviceIDWithCompletionQueue(_:block:)

class func requestAppMetricaDeviceIDWithCompletionQueue(_ queue: dispatch_queue_t?, completionBlock block: YMMAppMetricaDeviceIDRetrievingBlock)

Запрашивает уникальный идентификатор 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, если не удалось получить идентификатор.

requestAppMetricaDeviceID(withCompletionQueue:)

class func requestAppMetricaDeviceID(withCompletionQueue queue: DispatchQueue?) async throws -> String

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

Уникальный идентификатор deviceID доступен в интерфейсе AppMetricaDeviceIDListener.onLoaded(String deviceID), если не возникает ошибок при получении. Если ошибка возникает, то значение ошибки хранится в интерфейсе AppMetricaDeviceIDListener.onError(Error error, String referrer).
Примечание. В Logs API и Post API deviceID обозначается как appmetrica_device_id.
Параметры:
queue

Очередь для отправки deviceID.

queue

Очередь для отправки deviceID.

Возвращает:

deviceID.

resumeSession()

class func resumeSession()

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

Примечание.

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

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

sendEventsBuffer()

class func sendEventsBuffer()

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

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

Внимание.

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

setErrorEnvironmentValue(_:forKey:)

class func setErrorEnvironmentValue(_ value: String?, forKey key: String)

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

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

Значение

key

Ключ

value

Значение

key

Ключ

setLocation(_:)

class func setLocation(_ location: CLLocation?)

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

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

setLocationTracking(_:)

class func setLocationTracking(_ enabled: Bool)

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

Параметры:
enabled

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

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

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

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

setStatisticsSending(_:)

class func setStatisticsSending(_ enabled: Bool)

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

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

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

  • true — отправка статистики включена.
  • false — отправка статистики выключена.
enabled Признак отправки статистики. Значение по умолчанию — true.

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

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

setUserProfileID(_:)

class func setUserProfileID(_ userProfileID: String?)

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

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