Класс 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:) | Отправляет сообщение об ошибке типа |
report(error:options:onFailure:) | Отправляет сообщение об ошибке типа |
report(nserror:onFailure:) | Отправляет сообщение об ошибке типа |
report(nserror:options:onFailure:) | Отправляет сообщение об ошибке типа |
reportEvent(_:onFailure:) | Отправляет сообщение о событии. |
reportEvent(_:parameters:onFailure:) | Отправляет сообщение о событии с дополнительными параметрами. |
reportReferralUrl(_:) | Задает referral URL установки приложения. Метод может быть использован для отслеживания некоторых источников трафика. |
reportRevenue(_:onFailure:) | Отправляет информацию о покупке на сервер AppMetrica. |
report(adRevenue:onFailure:) | Отправляет информацию о рекламной выручке на сервер AppMetrica. |
report(_:onFailure:) | Отправляет информацию об обновлении пользовательского профиля. |
requestAppMetricaDeviceID(withCompletionQueue:completionBlock:) | Запрашивает уникальный идентификатор AppMetrica ( |
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:) | Отправляет сообщение об ошибке типа |
report(error:options:onFailure:) | Отправляет сообщение об ошибке типа |
report(nserror:onFailure:) | Отправляет сообщение об ошибке типа |
report(nserror:options:onFailure:) | Отправляет сообщение об ошибке типа |
reportEvent(_:onFailure:) | Отправляет сообщение о событии. |
reportEvent(_:parameters:onFailure:) | Отправляет сообщение о событии с дополнительными параметрами. |
reportReferralUrl(_:) | Задает referral URL установки приложения. Метод может быть использован для отслеживания некоторых источников трафика. |
reportRevenue(_:onFailure:) | Отправляет информацию о покупке на сервер AppMetrica. |
report(adRevenue:onFailure:) | Отправляет информацию о рекламной выручке на сервер AppMetrica. |
report(_:onFailure:) | Отправляет информацию об обновлении пользовательского профиля. |
requestAppMetricaDeviceID(withCompletionQueue:completionBlock:) | Запрашивает уникальный идентификатор AppMetrica ( |
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)
- Метод должен вызываться из главной очереди.
- Метод недоступен на 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
.
error | Ошибка, которую необходимо отправить. |
onFailure | Блок, который выполняется при возникновении ошибки. Ошибка передается как блок-аргумент. |
error | Ошибка, которую необходимо отправить. |
onFailure | Блок, который выполняется при возникновении ошибки. Ошибка передается как блок-аргумент. |
report(error:options:onFailure:)
class func report(error: YMMErrorRepresentable, options: YMMErrorReportingOptions = [], onFailure: ((Error) -> Void)? = nil)
Отправляет сообщение об ошибке типа 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
.
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
.
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
).
queue | Очередь, на которой будет вызван callback-блок. |
block | Сallback-блок получения appmetrica_device_id. Включает в себя идентификатор |
queue | Очередь, на которой будет вызван callback-блок. |
block | Сallback-блок получения appmetrica_device_id. Включает в себя идентификатор |
requestAppMetricaDeviceID(withCompletionQueue:)
class func requestAppMetricaDeviceID(withCompletionQueue queue: DispatchQueue?) async throws -> String
Запрашивает уникальный идентификатор AppMetrica (deviceID
).
deviceID
доступен в интерфейсе AppMetricaDeviceIDListener.onLoaded(String deviceID), если не возникает ошибок при получении. Если ошибка возникает, то значение ошибки хранится в интерфейсе AppMetricaDeviceIDListener.onError(Error error, String referrer).queue | Очередь для отправки |
queue | Очередь для отправки |
Возвращает:
deviceID
.
resumeSession()
class func resumeSession()
Возобновляет сессию или создает новую, если тайм-аут сессии истек.
Длительность сессии зависит от заданного тайм-аута. Если интервал между приостановкой и возобновлением сессии меньше заданного времени тайм-аута, то текущая сессия будет возобновлена, если больше — будет создана новая.
Подробнее о сессиях в разделе Отслеживание активности пользователей.
sendEventsBuffer()
class func sendEventsBuffer()
Отправляет сохраненные события из буфера.
AppMetrica SDK не отправляет события сразу после того, как оно произошло. Библиотека хранит данные о событиях в буфере. Метод sendEventsBuffer()
отправляет данные из буфера и очищает его. Используйте этот метод для принудительной отправки сохраненных событий после прохождения важных сценариев пользователя.
Частое использование метода может привести к повышению энергопотребления и расходу исходящего интернет-трафика.
setErrorEnvironmentValue(_:forKey:)
class func setErrorEnvironmentValue(_ value: String?, forKey key: String)
Устанавливает пару ключ-значение, которая ассоциирована с крэшами и ошибками.
nil
, AppMetrica удалит предыдущую пару.value | Значение |
key | Ключ |
value | Значение |
key | Ключ |
setLocation(_:)
class func setLocation(_ location: CLLocation?)
Устанавливает собственную информацию о местоположении устройства.
location | Информация о местоположении устройства. |
location | Информация о местоположении устройства. |
setLocationTracking(_:)
class func setLocationTracking(_ enabled: Bool)
Включает/отключает отправку информации о местоположении устройства.
enabled | Признак отправки информации о местоположении устройства. Значение по умолчанию — Возможные значения:
|
enabled | Признак отправки информации о местоположении устройства. Значение по умолчанию — Возможные значения:
|
setStatisticsSending(_:)
class func setStatisticsSending(_ enabled: Bool)
Включает/отключает отправку статистики на сервер AppMetrica.
enabled | Признак отправки статистики. Значение по умолчанию — true .Возможные значения:
|
enabled | Признак отправки статистики. Значение по умолчанию — true .Возможные значения:
|
setUserProfileID(_:)
class func setUserProfileID(_ userProfileID: String?)
Устанавливает ID для пользовательского профиля. Если отправка ProfileId
не настроена, предопределенные атрибуты не отображаются в веб-интерфейсе.
userProfileID | Идентификатор пользовательского профиля. |
userProfileID | Идентификатор пользовательского профиля. |